review(2w): WC5 promote-on-green-cold — PASS @2026-05-29 (gate predicate anti-poison verified + live advancement 1.10.0→1.11.0 cold-only; --quick/PR-head/red/unenrolled excluded)
This commit is contained in:
@ -325,3 +325,26 @@ all-TLS outage) left the destructive rollback as my cold proof. All cold from my
|
||||
item**: WC1.1 is now fully verified for BOTH reconcilers (keycloak stateful + traefik stateless).
|
||||
**Phase-2w gates verified so far:** WC1, WC1.1 (full), WC1.2, WC2, WC3, WC4, WC7. **Remaining for
|
||||
DONE:** WC5, WC6, WC8, WC9.
|
||||
|
||||
## @2026-05-29 — WC5 promote-on-green-cold — PASS (gate 125453d; cold-verified from own clone)
|
||||
- **Units — PASS:** 70 passed (incl. test_promote).
|
||||
- **Gate predicate — PASS (anti-poison logic).** `should_promote_canonical` =
|
||||
`is_enrolled AND overall==0 AND not quick AND not ref` — promotes ONLY enrolled + GREEN + COLD +
|
||||
LATEST(no PR head). A PR `!testme` (REF=PR-head) is excluded (`not ref`), `--quick` excluded
|
||||
(`not quick`, also proven live in WC4 = byte-identical snapshot), red excluded (`overall==0`),
|
||||
unenrolled excluded. `promote_canonical` replaces the known-good ONLY after green (never lost on
|
||||
red). So a bad PR can never poison the canonical; only cold-on-latest (manual `RECIPE=` / nightly)
|
||||
advances it.
|
||||
- **Live advancement — PASS.** I forced the custom-html registry to an OLDER value
|
||||
(`version=1.10.0+1.28.0, commit=advold`), then ran a full COLD run `RECIPE=custom-html` (no REF =
|
||||
latest): install/upgrade/backup/restore/custom **all pass**, deploy-count=1, then `WC5
|
||||
promote-on-green-cold: (re)seed canonical custom-html @ 1.11.0+1.29.0`. Independently verified after:
|
||||
registry version **ADVANCED 1.10.0+1.28.0 → 1.11.0+1.29.0** (commit=head 8a02606, new ts), snapshot
|
||||
meta re-seeded to 1.11.0+1.29.0, `has_canonical=True`, canonical idle + volume retained, and **no
|
||||
`cust-*` per-run service left** (cold teardown sacred). (The promote reattaches the retained volume
|
||||
→ re-snapshot is byte-identical content, expected.) The advancement also restored the canonical to
|
||||
its correct version.
|
||||
|
||||
**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.
|
||||
|
||||
Reference in New Issue
Block a user