-
Answer the producer before believing the bytes, not after
-
Check every build a promote ships, not just the one the tier points at
-
Carry a finished artifact from Bento to Sando
-
Configure pom as Sando's second app, and take an intake through the seam
-
Mount a router per product, keeping the root as the default
-
Thread the app dimension through Sando's queries
-
Give Sando a product dimension in its configuration
-
Gate docengine again, by letting a test_target name an aux repo
-
Stop reporting a safe rollback as a production incident
-
sando: gate every database's migrations, not only the server's
-
sando: unwedge the backup floor and block on stale dumps
-
sando: compile the frontends in the code_smoke gate
-
sando: auxiliary-repo checkout so cross-repo path deps resolve
-
sando: reconcile deploys against tier_state on startup
-
sando: document the rollback contract + gate migration-bearing promotes
-
sando: adopt lint block, fix clippy, fmt
-
sando: content-addressed release identity; key promote/burn-in on build id
-
Dedup ct_eq + sando live_log into ops-core; put sando errors on JSON
-
sando: test deploy_remote choreography and multi-node canary promote
-
sando: test the promote happy path
-
sando: serve GET /status.json
-
sando: remove the Prometheus exporter instead of deciding its auth posture
-
sando: refuse unprovisioned promotes, harden the companion path guard, drop the stale hook
-
Format the tree with rustfmt and add the lint + supply-chain gates
-
sando: run cargo_test over every crate, not just server/
-
sando: fail the promote on red post-deploy gates, stop rollback rolling forward
-
Add code_smoke host gate: migrate-from-scratch + seed + serve /health
-
gates: own the scratch cluster's privileges in code
-
Extract sando promotion service out of daemon routes.rs