claim(cfold): M1 canonical custom folder migration
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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`
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user