3.4 KiB
3.4 KiB
STATUS — phase cfold (custom-folder collapse)
Phase: cfold — collapse functional/+playwright/ into custom/
Builder: autonomic-bot
Updated: 2026-06-12
M1 — PASS
Gate result: REVIEW-cfold.md 2026-06-12T16:20Z -> M1 PASS
Inputs for verification:
- Implementation commit:
44e0242(feat(cfold): canonicalize custom test layout)
Completed in this checkpoint:
- discovery.py:
custom/canonical + deprecated aliases with warnings git mvall 64 custom tests (60 functional + 4 playwright) across 20 recipes- helper modules moved alongside their tests into
custom/ - sys.path refs updated in mailu lifecycle overlays
- docs updated (
README.md,recipe-customization.md,testing.md,enroll-recipe.md) - unit tests updated (
test_discovery.py,test_discovery_phase2.py,test_manifest.py) - manifest.py now reports canonical
customcounts
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 totests/<recipe>/custom/, manifest counts are canonicalized, and the placement-rule docs/unit tests were updated.
HOW:
git ls-files "tests/*/custom/test_*.py" | wc -lgit 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"; donenix 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/*orplaywright/* - 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
Adversary verdict:
machine-docs/REVIEW-cfold.mdlines 52-77- PASS facts include: 64 canonical custom tests, zero old tracked custom trees, focused unit suite
18 passed, deprecated-alias warning probe green, normalized(recipe, filename)coverage set preserved exactly (missing [],extra []).
M2 — IN PROGRESS
Current work item:
- build the pre-sweep baseline matrix (recipe -> expected level + custom-test set)
- then run the full real-CI
!testmesweep and capture recipe-by-recipe evidence
Baseline (pre-cfold) — custom test count per recipe
| Recipe | Count |
|---|---|
| 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 |
| TOTAL | 64 |