status(cfold): record M2 sweep snapshot
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
autonomic-bot
2026-06-12 22:26:39 +00:00
parent 8599e899e1
commit d24bb8f3ae
3 changed files with 120 additions and 3 deletions

View File

@ -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

View File

@ -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/<build>/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: <ghost-domain>: 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

View File

@ -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.
---