From d24bb8f3aeab1493d39e223ff6dc945ab86f7ada Mon Sep 17 00:00:00 2001 From: autonomic-bot Date: Fri, 12 Jun 2026 22:26:39 +0000 Subject: [PATCH] status(cfold): record M2 sweep snapshot --- machine-docs/BACKLOG-cfold.md | 2 +- machine-docs/JOURNAL-cfold.md | 75 +++++++++++++++++++++++++++++++++++ machine-docs/STATUS-cfold.md | 46 ++++++++++++++++++++- 3 files changed, 120 insertions(+), 3 deletions(-) diff --git a/machine-docs/BACKLOG-cfold.md b/machine-docs/BACKLOG-cfold.md index 6d8e59f..eacd7d0 100644 --- a/machine-docs/BACKLOG-cfold.md +++ b/machine-docs/BACKLOG-cfold.md @@ -12,7 +12,7 @@ - [x] Produce M1 coverage-diff proof: discovered custom-test set identical before/after - [x] Claim M1 with WHAT/HOW/EXPECTED/WHERE in `STATUS-cfold.md` - [x] Await Adversary M1 verdict -- [ ] Build the pre-sweep recipe baseline matrix for M2 +- [x] Build the pre-sweep recipe baseline matrix for M2 - [ ] Run the full real-CI `!testme` sweep and capture recipe-by-recipe evidence - [ ] Claim M2 only after the sweep is green and zero leaks are confirmed diff --git a/machine-docs/JOURNAL-cfold.md b/machine-docs/JOURNAL-cfold.md index eab5e49..a131edc 100644 --- a/machine-docs/JOURNAL-cfold.md +++ b/machine-docs/JOURNAL-cfold.md @@ -108,3 +108,78 @@ Pulled `review(cfold): M1 PASS cold verification` (`4b4d665`). Confirmed in `REV - normalized `(recipe, filename)` before/after set = exact match (`missing []`, `extra []`) No fix-forward required. Phase advances to M2 baseline assembly. + +## 2026-06-12 — M2 sweep snapshot: 19 fresh greens, Ghost upgrade regression remains + +Bootstrap/access re-checks before the live sweep: + +```bash +$ ssh cc-ci "hostname && whoami && nixos-version" +nixos +root +24.11.20250630.50ab793 (Vicuna) + +$ set -a; . /srv/cc-ci/.testenv; set +a; curl -fsS "https://$GITEA_URL/api/v1/version" +{"version":"1.24.2"} + +$ getent hosts "probe-$RANDOM.ci.commoninternet.net" +91.98.47.73 probe-4360.ci.commoninternet.net +``` + +Open-PR inventory before triggering uncovered recipes showed 16 enrolled repos already had live PRs; +`custom-html`, `keycloak`, `cryptpad`, and `mumble` did not. I reopened reusable closed PRs for the +first three (`custom-html#2`, `keycloak#3`, `cryptpad#5`) and created a minimal sweep-only `mumble#1` +probe PR via the Gitea API. + +Fresh post-cfold success set gathered from the live server (`/var/lib/cc-ci-runs//results.json`): + +```text +506 drone L5 +510 custom-html-tiny L5 +521 discourse L5 +522 immich L5 +523 lasuite-docs L5 +524 lasuite-drive L5 +525 lasuite-meet L5 +526 mailu L5 +527 matrix-synapse L5 +528 n8n L5 +529 mattermost-lts L5 +530 plausible L5 +531 uptime-kuma L5 +541 custom-html L5 +553 keycloak L5 +554 cryptpad L5 +555 hedgedoc L5 +556 bluesky-pds L5 +558 mumble L5 +``` + +Ghost is the lone non-green outlier: + +```text +557 ghost PR#4 @ d88f5801 -> L1 (install pass, upgrade fail, backup/restore/custom pass) +559 ghost PR#5 @ d42d0f7c -> L1 (same failure shape on last known-green Ghost head) +185 ghost PR#4 @ d42d0f7c -> L4 / pre-lint-era green baseline on 2026-06-05 +``` + +The critical Ghost comparison is the same ref `d42d0f7c`: + +- historical build `185` (2026-06-05): upgrade passed at `d42d0f7c` +- fresh probe build `559` (2026-06-12): same `d42d0f7c` now fails upgrade with swarm `UpdateStatus='paused'` + +That isolates the regression away from cfold itself. In both fresh Ghost failures (`557`, `559`), the +custom tier still discovered and passed all four `tests/ghost/custom/test_*.py` files, while the +upgrade op failed before upgrade assertions could run: + +```text +!! upgrade op failed: : upgrade redeploy did NOT converge to the head spec — swarm UpdateStatus='paused'. +The recipe's app service uses update_config failure_action=rollback/pause; the NEW (head) task failed swarm's update monitor, +so the service reverted/paused and the RUNNING spec is the previous version, not the code under test. +``` + +Adversary update pulled during this pass: + +- `review(cfold)` commit `93f56ae` added only an idle audit entry to `REVIEW-cfold.md` +- no finding filed +- no M2 PASS yet because no `claim(cfold): M2 ...` commit exists diff --git a/machine-docs/STATUS-cfold.md b/machine-docs/STATUS-cfold.md index 3c9e4ad..028420e 100644 --- a/machine-docs/STATUS-cfold.md +++ b/machine-docs/STATUS-cfold.md @@ -56,8 +56,50 @@ Adversary verdict: ## M2 — IN PROGRESS Current work item: -- build the pre-sweep baseline matrix (recipe -> expected level + custom-test set) -- then run the full real-CI `!testme` sweep and capture recipe-by-recipe evidence +- full real-CI `!testme` sweep evidence is mostly assembled; one recipe (`ghost`) remains non-green for + a cfold-neutral upgrade regression on the recipe/environment side + +### M2 baseline matrix (built from live PR heads + fresh post-cfold evidence) + +| Recipe | PR / ref | Expected level | Custom tests | Fresh evidence | +|---|---|---:|---:|---| +| bluesky-pds | PR #2 `f7b6c8df` | 5 | 4 | build `556` -> L5 | +| cryptpad | PR #5 `9c18c176` | 5 | 4 | build `554` -> L5 | +| custom-html | PR #2 `db9a9502` | 5 | 4 | build `541` -> L5 | +| custom-html-tiny | PR #7 `526502ba` | 5 | 1 | build `510` -> L5 | +| discourse | PR #2 `b7d8a244` | 5 | 3 | build `521` -> L5 | +| drone | PR #1 `049438e1` | 5 | 1 | build `506` -> L5 | +| ghost | PR #4 `d88f5801` | 5 | 4 | build `557` -> L1 (upgrade fail) | +| hedgedoc | PR #1 `441c411c` | 5 | 2 | build `555` -> L5 | +| immich | PR #2 `17f1649c` | 5 | 3 | build `522` -> L5 | +| keycloak | PR #3 `bfe0d16f` | 5 | 3 | build `553` -> L5 | +| lasuite-docs | PR #5 `8a06cfc2` | 5 | 5 | build `523` -> L5 | +| lasuite-drive | PR #2 `6771622b` | 5 | 3 | build `524` -> L5 | +| lasuite-meet | PR #6 `05cdafb5` | 5 | 3 | build `525` -> L5 | +| mailu | PR #4 `682ccaaa` | 5 | 3 | build `526` -> L5 | +| matrix-synapse | PR #2 `72f0176a` | 5 | 3 | build `527` -> L5 | +| mattermost-lts | PR #2 `966c6d61` | 5 | 3 | build `529` -> L5 | +| mumble | PR #1 `2b50b2f7` | 5 | 5 | build `558` -> L5 | +| n8n | PR #5 `989c44b3` | 5 | 4 | build `528` -> L5 | +| plausible | PR #3 `709a294d` | 5 | 2 | build `530` -> L5 | +| uptime-kuma | PR #3 `b0ce7942` | 5 | 4 | build `531` -> L5 | + +### Ghost deviation (blocking a formal M2 claim) + +`ghost` is the only recipe still preventing an M2 claim. + +- Current upgrade PR head `d88f5801` (PR #4) failed again in build `557`: install/backup/restore/custom all + passed, but the upgrade op paused and rolled back before any upgrade-tier assertions could run. +- To isolate cfold from recipe-head drift, a separate probe PR #5 was opened at Ghost's last known-green + PR head `d42d0f7c` (historical build `185` = L4/L5-equivalent on 2026-06-05). That probe re-failed in + build `559` with the same upgrade pause: install/backup/restore/custom all passed, upgrade failed. +- Conclusion so far: Ghost's current failure is not caused by the `custom/` folder migration; the custom + tier still discovers and passes all 4 canonical custom tests, and the regression reproduces on the + previously-green Ghost head as an upgrade convergence failure. + +### Fresh Adversary state + +- `REVIEW-cfold.md` 2026-06-12T22:05:50Z: idle audit only, no new finding, no M2 claim pending. ---