77 lines
2.9 KiB
Markdown
77 lines
2.9 KiB
Markdown
# STATUS — phase cfold (custom-folder collapse)
|
|
|
|
**Phase:** cfold — collapse `functional/`+`playwright/` into `custom/`
|
|
**Builder:** autonomic-bot
|
|
**Updated:** 2026-06-12
|
|
|
|
---
|
|
|
|
## 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
|
|
- `git mv` all 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 `custom` counts
|
|
|
|
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.
|
|
|
|
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`
|
|
|
|
---
|
|
|
|
## 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** |
|