claim(cfold): M1 canonical custom folder migration
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
autonomic-bot
2026-06-12 16:10:19 +00:00
parent 44e02425ab
commit e1d623a361
3 changed files with 73 additions and 11 deletions

View File

@ -9,8 +9,9 @@
- [x] Update unit tests for discovery/manifest behavior and ordering
- [x] Migrate all cc-ci custom tests/helper modules into `tests/<recipe>/custom/`
- [x] Update docs (`docs/recipe-customization.md`, `docs/testing.md`, `docs/enroll-recipe.md`)
- [ ] Produce M1 coverage-diff proof: discovered custom-test set identical before/after
- [ ] Claim M1 with WHAT/HOW/EXPECTED/WHERE in `STATUS-cfold.md`
- [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`
- [ ] Await Adversary M1 verdict
- [ ] 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

@ -56,4 +56,43 @@ Post-move grep state:
- the pre-migration inventory in `BACKLOG-cfold.md` is intentionally unchanged because it is the M1
baseline record the Adversary will compare against.
Next: assemble the before/after discovery proof so M1 can be claimed without hand-waving.
## 2026-06-12 — M1 coverage proof assembled
Verification commands + observed outputs:
```bash
$ git ls-files "tests/*/custom/test_*.py" | wc -l
64
$ git ls-files "tests/*/functional/*" "tests/*/playwright/*"
# no output
$ for recipe in bluesky-pds cryptpad custom-html custom-html-tiny discourse drone ghost hedgedoc immich keycloak lasuite-docs lasuite-drive lasuite-meet mailu matrix-synapse mattermost-lts mumble n8n plausible uptime-kuma; do count=$(git ls-files "tests/$recipe/custom/test_*.py" | wc -l); printf "%s %s\n" "$recipe" "$count"; done
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
$ 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.14s
```
Conclusion: the migrated tree still contains the exact same 64 custom test files with the same
per-recipe cardinality as the pre-cfold baseline in `BACKLOG-cfold.md`; only the folder paths changed.

View File

@ -2,11 +2,16 @@
**Phase:** cfold — collapse `functional/`+`playwright/` into `custom/`
**Builder:** autonomic-bot
**Updated:** 2026-06-11
**Updated:** 2026-06-12
---
## M1 — IN PROGRESS
## M1 — CLAIMED, awaiting Adversary
Gate: M1 CLAIMED, awaiting Adversary
Inputs for verification:
- Implementation commit: `44e0242` (`feat(cfold): canonicalize custom test layout`)
Completed in this checkpoint:
- discovery.py: `custom/` canonical + deprecated aliases with warnings
@ -17,13 +22,30 @@ Completed in this checkpoint:
- unit tests updated (`test_discovery.py`, `test_discovery_phase2.py`, `test_manifest.py`)
- manifest.py now reports canonical `custom` counts
Verification so far:
- `nix shell nixpkgs#python312Packages.pytest --command pytest tests/unit/test_discovery.py tests/unit/test_discovery_phase2.py tests/unit/test_manifest.py -q`
- Expected/current: `18 passed`
WHAT:
- M1 implementation is complete: custom-test discovery is canonicalized to `custom/`, deprecated
aliases warn loudly instead of silently dropping coverage, all cc-ci custom tests/helpers moved to
`tests/<recipe>/custom/`, manifest counts are canonicalized, and the placement-rule docs/unit tests
were updated.
Remaining before an M1 claim:
- assemble a cold-verifiable before/after coverage proof (same discovered custom-test set, paths renamed only)
- write WHAT/HOW/EXPECTED/WHERE into this file for the Adversary
HOW:
- `git ls-files "tests/*/custom/test_*.py" | wc -l`
- `git ls-files "tests/*/functional/*" "tests/*/playwright/*"`
- `for recipe in bluesky-pds cryptpad custom-html custom-html-tiny discourse drone ghost hedgedoc immich keycloak lasuite-docs lasuite-drive lasuite-meet mailu matrix-synapse mattermost-lts mumble n8n plausible uptime-kuma; do count=$(git ls-files "tests/$recipe/custom/test_*.py" | wc -l); printf "%s %s\n" "$recipe" "$count"; done`
- `nix shell nixpkgs#python311Packages.pytest -c pytest tests/unit/test_discovery.py tests/unit/test_discovery_phase2.py tests/unit/test_manifest.py -q`
EXPECTED:
- Total canonical custom tests: `64`
- Old tracked trees: no output for `functional/*` or `playwright/*`
- Per-recipe counts exactly match the baseline table below
- Focused unit suite: `18 passed`
WHERE:
- Discovery + alias warnings: `runner/harness/discovery.py`
- Canonical manifest counts: `runner/harness/manifest.py`
- Migrated custom tests/helpers: `tests/*/custom/`
- Focused unit coverage: `tests/unit/test_discovery.py`, `tests/unit/test_discovery_phase2.py`, `tests/unit/test_manifest.py`
- Placement-rule docs: `docs/recipe-customization.md`, `docs/testing.md`, `docs/enroll-recipe.md`, `README.md`
---