May 19, 2026
Commits
87be532 — deploy-dashboard: Phase 5 tier 1+2 (read + trigger)
Initial deploy dashboard implementation: a new deploy_dashboard.py backend exposes /api/envs (env states, branch tips, test results) and action endpoints (promote, test, approve-prod). The frontend renders env cards with status chips and action buttons in a pipeline-style layout.
Added:
dev/static_site/deploy_dashboard.py— dashboard backend (+198)dev/static_site/templates/deploy-dashboard/index.html— dashboard frontend (+349)
Changed:
dev/static_site/endpoint.py— mount dashboard routes (+11/-1)
3ca5f36 — deploy-dashboard: shell+JSON pattern, match site auth shape
Switches the dashboard to the shell+JSON pattern (static HTML shell loads data via /api/envs on DOMContentLoaded) and aligns auth with the site's existing cookie-based flow.
Changed:
dev/static_site/deploy_dashboard.py— shell pattern refactor (+43/-25)dev/static_site/templates/deploy-dashboard/index.html— async data load (+91/-1)
5c1c7f5 — deploy-dashboard: env card row + per-env deploy state
Adds deploy state tracking per environment: the dashboard queries ci/_git_in_modal for running deployments and shows status chips (deploying, testing, idle). Env cards are arranged in a horizontal pipeline row.
Changed:
ci/_git_in_modal.py— deploy state queries (+138/-1)ci/deploy_in_modal.py— record deploy state on start/finish (+18)ci/scheduled_cleanup.py— deploy state integration (+27)dev/static_site/deploy_dashboard.py— state-aware card rendering (+55/-1)dev/static_site/templates/deploy-dashboard/index.html— card row layout (+354/-28)
597f055 — deploy-dashboard: live polling with countdown indicator
Dashboard now polls /api/envs on a configurable interval with a visible countdown ring, auto-refreshing env states without page reload.
Changed:
dev/static_site/templates/deploy-dashboard/index.html— polling + countdown (+195/-14)
8b1f302 — static-site landing: add Deploy dashboard card
Adds a "Deploy Dashboard" card to the static site landing page linking to /deploy-dashboard/.
Changed:
dev/static_site/templates/index.html(+4)
766726c — deploy-dashboard: better initial render + cicd state + self-healing dev push
Improves first render by showing skeleton cards immediately. Adds cicd worker state awareness and self-healing for dev pushes that fail mid-pipeline.
Changed:
ci/_git_in_modal.py— cicd state + self-heal (+53/-6)ci/webhook.py— self-healing dev push (+19/-1)dev/static_site/templates/deploy-dashboard/index.html— skeleton render (+41/-1)
31b877b — deploy-dashboard: ff-merges + in-flight stages + feature-commit walk
Dashboard now shows fast-forward merge relationships between environments, in-flight pipeline stages per card, and a feature-commit walk showing which commits are in each branch.
Changed:
ci/_git_in_modal.py— ff-merge detection + commit walk (+127/-4)ci/webhook.py— in-flight stage tracking (+50/-2)dev/static_site/deploy_dashboard.py— expose merge/commit data (+16/-1)dev/static_site/templates/deploy-dashboard/index.html— merge arrows + commit list (+73/-1)
544a9e9 — just *-remote recipes: auto-refresh cicd workers when ci/ changed
The deploy-remote and test-remote Justfile recipes now check if any ci/ files changed since the last cicd deploy and auto-redeploy the cicd app if needed.
Added:
ci/ShellScripts/ensure_cicd_fresh.sh— staleness check + auto-redeploy (+90)
Changed:
Justfile— hook ensure_cicd_fresh into remote recipes (+9/-1)