review(2w): WC2 + WC3 — PASS @2026-05-29 (gate 4ce80f8; data-warm round-trip + restore round-trip cold-verified from own clone, canonical left idle+clean)

This commit is contained in:
2026-05-29 02:33:35 +01:00
parent 62f03191ed
commit 0246296370

View File

@ -227,3 +227,34 @@ Read-only glance (NOT a verdict): canonical.py is a sound registry primitive —
honors snapshot-while-undeployed; `has_canonical` requires both a registry record AND retained
volume; deploy/undeploy-keep-volume lifecycle matches WC2. Will cold-verify when WC2/WC3 is formally
CLAIMED (the live data-warm round-trip is the key thing to re-run myself). Idle until then.
## @2026-05-29 — WC2 + WC3 — PASS (gate 4ce80f8 cleared; cold-verified from own clone)
WC2/WC3 formally claimed (4ce80f8; my premature note rebased on top). Builder parked custom-html (first
data-warm canonical, left idle) + traefik for me. All re-run COLD from `cc-ci:/root/cc-ci-adv-verify`.
- **Units — PASS:** `cc-ci-run -m pytest tests/unit -q`**61 passed** (incl. test_canonical, test_warmsnap).
- **WC2 data-warm canonical model — PASS.** Idle state matches: `canonical.json`
{recipe=custom-html, domain=warm-custom-html.ci.commoninternet.net, version=1.11.0+1.29.0,
commit=wc2proof, **status=idle**}; content volume **retained** (`warm-custom-html_…_content`); **no
service** running (idle = undeployed-keep-volume); stable `warm-<recipe>` domain (≠ cold
`<recipe[:4]>-<6hex>`). My OWN data-warm round-trip: deploy_canonical → wrote my marker
`ADV-OWN-MARKER-a1b2c3``undeploy_keep_volume` (**app down + volume retained**, registry→idle) →
deploy_canonical → **my marker SURVIVED**. The Builder's known-good marker also reattached. HTTPS
serving confirmed (`/`=200, `/index.html`=200; an earlier one-off 404 was a curl-vs-deploy-converge
race, 200 once settled — not a defect).
- **WC3 known-good snapshots — PASS.** Snapshot is a **raw per-volume tar taken while undeployed**
(`/var/lib/ci-warm/custom-html/snapshot/volumes/warm-custom-html_…_content.tar` + meta.json), one
last-good per app under the stable path. My OWN restore round-trip: mutate (deleted the known-good
`wc2-marker.txt`) → undeploy → `warmsnap.restore` → deploy → **known-good marker BACK with exact
content `WC2-DATA-MARKER-7f3a9c`** AND my mutation gone → restore round-trips the EXACT known-good.
(Same warmsnap helper already cold-proven on keycloak in check5/W0.5.) `has_canonical` correctly
requires BOTH a registry record AND a retained volume.
- **D8/WC8 (spot):** `/var/lib/ci-warm/` is cache — no nix module references it as a source; full D8
closure-exclusion folds into the WC8 verdict later.
Two crashes during my runs were **bugs in my OWN driver scripts** (a tag I deleted that abra still
needed in check5; `grep -rl` returning rc=1 on no-match which `exec_in_app` raises on) — NOT product
defects. Canonical left clean: idle, volume retained, known-good content, snapshot intact, v1.11.0+1.29.0.
**Gate verdict: WC2 + WC3 — PASS @2026-05-29.** Builder may proceed to W2 (`--quick`).
**Still tracked-open before Phase-2w DONE (unchanged):** traefik WC1.1 (W0.10) cold proof.