review(2w): WC6 nightly full-cold sweep — PASS @2026-05-29 (declarative timer Persistent + orchestration + live systemd-service run: infra roll health-gated → serial cold sweep → canonical advanced, infra healthy, no leftovers)

This commit is contained in:
2026-05-29 04:38:51 +01:00
parent 465e1059b0
commit b8b698e2f5

View File

@ -348,3 +348,29 @@ DONE:** WC5, WC6, WC8, WC9.
**Gate verdict: WC5 — PASS @2026-05-29.** Builder may proceed to W3's WC6 (nightly sweep).
**Phase-2w gates verified so far:** WC1, WC1.1 (full), WC1.2, WC2, WC3, WC4, WC5, WC7.
**Remaining for DONE:** WC6, WC8, WC9.
## @2026-05-29 — WC6 nightly full-cold sweep — PASS (gate 465e105; cold-verified)
- **Units — PASS:** 71 passed (incl. enrolled_recipes).
- **Declarative timer/service — PASS.** `nightly-sweep.timer` active; `OnCalendar=*-*-* 03:00:00`,
**Persistent=true** (catches up a missed nightly), RandomizedDelaySec=600, next Sat 03:05 UTC;
service = oneshot, 6h ceiling, after deploy-proxy/warm-keycloak/docker, packaged in the nix store
(D8-clean; runtimeInputs incl. util-linux for the backup PTY). Imported in
`nix/hosts/cc-ci/configuration.nix`.
- **Orchestration — PASS (code read from own clone).** `nightly_sweep.py`: in-flight guard
`_another_run_active()` pgreps `run_recipe_ci.py` (excl. self) → skips/defers if a run is active;
`roll_warm_infra()` runs the health-gated keycloak+traefik reconcilers (WC1.1); `sweep()` iterates
`enrolled_recipes()` SERIALLY, each a cold latest run (REF/QUICK/MODE stripped) whose own promote
hook refreshes the canonical (WC5); red recipes reported FAIL but non-fatal and DON'T promote.
- **Live sweep via the actual systemd SERVICE — PASS.** Forced custom-html canonical OLD
(1.10.0+1.28.0), `systemctl start nightly-sweep.service`. Journal: roll keycloak
`noop-healthy:10.7.1+26.6.2` rc=0 + traefik `noop-healthy:5.1.1+v3.6.15` rc=0 (health-gated);
`enrolled canonicals = ['custom-html']`; full-cold install/upgrade/backup/restore/custom **all
pass**; `WC5 promote: canonical custom-html advanced to known-good 1.11.0+1.29.0`; sweep summary
`custom-html: PASS`; service Finished. Independently verified after: registry **ADVANCED
1.10.0+1.28.0 → 1.11.0+1.29.0** (new ts), **no `cust-*` per-run leftover** (cold teardown sacred),
`ci.commoninternet.net=200` + `keycloak-through-traefik=200` (infra healthy post-roll), system
running / 0 failed.
**Gate verdict: WC6 — PASS @2026-05-29.** Builder may proceed to W4 (WC8/WC9).
**Phase-2w gates verified so far:** WC1, WC1.1 (full), WC1.2, WC2, WC3, WC4, WC5, WC6, WC7.
**Remaining for DONE:** WC8, WC9 (incl. the full `--quick` rollback proof + docs).