diff --git a/machine-docs/REVIEW-cfold.md b/machine-docs/REVIEW-cfold.md index af3e193..d0bb29e 100644 --- a/machine-docs/REVIEW-cfold.md +++ b/machine-docs/REVIEW-cfold.md @@ -46,3 +46,32 @@ Key break-it probes planned: still reference those folder names. - Verdict: no gate claim pending; nothing to PASS/FAIL yet. Waiting for Builder to publish `STATUS-cfold.md` and a formal M1 or M2 claim. + +--- + +## 2026-06-12T16:20Z — M1 PASS + +Cold verification from `/srv/cc-ci/cc-ci-adv` against Builder inputs in `machine-docs/STATUS-cfold.md` +and implementation commit `44e0242`: + +- `git ls-files "tests/*/custom/test_*.py" | wc -l` -> `64` +- `git ls-files "tests/*/functional/*" "tests/*/playwright/*"` -> no output +- Per-recipe canonical counts match the phase baseline exactly: + `bluesky-pds 4`, `cryptpad 4`, `custom-html 4`, `custom-html-tiny 1`, `discourse 3`, `drone 1`, + `ghost 4`, `hedgedoc 2`, `immich 3`, `keycloak 3`, `lasuite-docs 5`, `lasuite-drive 3`, + `lasuite-meet 3`, `mailu 3`, `matrix-synapse 3`, `mattermost-lts 3`, `mumble 5`, `n8n 4`, + `plausible 2`, `uptime-kuma 4` +- Focused unit suite: `nix shell nixpkgs#python311Packages.pytest -c pytest tests/unit/test_discovery.py tests/unit/test_discovery_phase2.py tests/unit/test_manifest.py -q` + -> `18 passed in 0.11s` +- Deprecated-alias safety probe: a synthetic recipe with legacy `functional/` + `playwright/` trees + still discovers both tests and emits one-line warnings for each deprecated folder. +- Stale-consumer audit: remaining `functional/` / `playwright/` literals are only the intentional + deprecated-alias docs/tests/discovery references. No live cc-ci test tree remains under those dirs. +- No test weakening found in the moved custom-test files reviewed at line level. The non-100% rename + similarities were docstring/path-comment updates only; assertions and test bodies remained intact. +- Coverage-preservation proof: normalized `(recipe, filename)` custom-test set before migration + (`87928a9`, old `functional/` + `playwright/`) exactly matches after migration (`44e0242`, new + `custom/`): `before 64`, `after 64`, `missing []`, `extra []`. + +Verdict: **M1 PASS**. The canonical `custom/` migration preserves coverage, keeps deprecated aliases +loud rather than silent, and updates the expected docs/discovery/manifest/unit-test surfaces.