status(rcust): P5 complete on branch (68954be) — unit 191 green + lint PASS; starting P6
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@ -104,3 +104,21 @@ test_discovery_phase2.py now asserts top-level custom is NOT discovered. op_stat
|
|||||||
Verified on cc-ci: cc-ci-run -m pytest tests/unit -q -> 184 passed; lint PASS.
|
Verified on cc-ci: cc-ci-run -m pytest tests/unit -q -> 184 passed; lint PASS.
|
||||||
|
|
||||||
Next: P5 — customization manifest (print block + results.json key).
|
Next: P5 — customization manifest (print block + results.json key).
|
||||||
|
|
||||||
|
## 2026-06-10 P5 — customization manifest (branch 68954be)
|
||||||
|
|
||||||
|
(Resumed after a usage-limit pause mid-P5; working tree carried the in-flight manifest.py.)
|
||||||
|
New runner/harness/manifest.py: build() collects {meta_non_default, hooks, overlays, custom_tests,
|
||||||
|
env_overrides} via the SAME discovery/meta functions the run uses (so the manifest can never
|
||||||
|
disagree with what actually executes — incl. the HC2 _gated() repo-local gate), render() prints
|
||||||
|
the block. Orchestrator builds+prints right after meta load / repo-local snapshot, BEFORE the
|
||||||
|
quick-lane branch (both lanes get the block); the dict rides into build_results(customization=...)
|
||||||
|
verbatim. run_quick writes no results.json, so the single build_results call site covers all.
|
||||||
|
Hooks render as "<hook>", tuples as lists (JSON-clean); ops.py pre-ops listed by cheap source
|
||||||
|
scan (same approach as discovery._module_defines — no import at manifest time).
|
||||||
|
|
||||||
|
Lint flagged: C408 dict() literal, import-block order (manifest after deps), ruff-format on the
|
||||||
|
new test file — all fixed. Verified on cc-ci (rsync of working tree): cc-ci-run -m pytest
|
||||||
|
tests/unit -q -> 191 passed; nix develop .#lint --command scripts/lint.sh -> lint: PASS.
|
||||||
|
|
||||||
|
Next: P6 docs, then M1 prep (tests/concurrency proof run + 21-recipe baseline matrix).
|
||||||
|
|||||||
@ -16,15 +16,19 @@ Work branch: `restructure/recipe-custom` (one commit per phase P1–P6; merged t
|
|||||||
take ctx; legacy signatures raise MetaError at load naming the migration (branch fd02d9f)
|
take ctx; legacy signatures raise MetaError at load naming the migration (branch fd02d9f)
|
||||||
- [x] P4 — custom-test ergonomics: placement rule (custom under functional/+playwright/ only),
|
- [x] P4 — custom-test ergonomics: placement rule (custom under functional/+playwright/ only),
|
||||||
op_state fixture, deps fixture tests (branch 29a28e2)
|
op_state fixture, deps fixture tests (branch 29a28e2)
|
||||||
- [ ] P5 — customization manifest
|
- [x] P5 — customization manifest: one block at run start (non-default meta keys, hooks, overlays,
|
||||||
|
custom-test counts, active CCCI_SKIP_GENERIC* env overrides with !! CI flag) printed +
|
||||||
|
embedded verbatim in results.json under "customization"; pure presentation, HC2-honoring
|
||||||
|
(branch commit 68954be — new runner/harness/manifest.py + tests/unit/test_manifest.py)
|
||||||
- [ ] P6 — docs
|
- [ ] P6 — docs
|
||||||
|
|
||||||
## P1–P4 verification facts (for the eventual M1 cold-verify)
|
## P1–P5 verification facts (for the eventual M1 cold-verify)
|
||||||
|
|
||||||
- WHERE: branch `restructure/recipe-custom`, P1=472a68b, P2=8cd72fd, P3=fd02d9f, P4=29a28e2.
|
- WHERE: branch `restructure/recipe-custom`, P1=472a68b, P2=8cd72fd, P3=fd02d9f, P4=29a28e2,
|
||||||
|
P5=68954be.
|
||||||
- HOW: `cc-ci-run -m pytest tests/unit -q` and `nix develop .#lint --command scripts/lint.sh`
|
- HOW: `cc-ci-run -m pytest tests/unit -q` and `nix develop .#lint --command scripts/lint.sh`
|
||||||
from a clean checkout of the branch.
|
from a clean checkout of the branch.
|
||||||
- EXPECTED: 184 passed; `lint: PASS`.
|
- EXPECTED: 191 passed; `lint: PASS`.
|
||||||
- New single loader: `runner/harness/meta.py::load()`; all-recipes typo gate + R2 proof in
|
- New single loader: `runner/harness/meta.py::load()`; all-recipes typo gate + R2 proof in
|
||||||
`tests/unit/test_meta.py`; docs §4 table generated by `scripts/gen-meta-docs.py` (sync pinned
|
`tests/unit/test_meta.py`; docs §4 table generated by `scripts/gen-meta-docs.py` (sync pinned
|
||||||
by unit test).
|
by unit test).
|
||||||
@ -35,4 +39,5 @@ Work branch: `restructure/recipe-custom` (one commit per phase P1–P6; merged t
|
|||||||
|
|
||||||
## Current
|
## Current
|
||||||
|
|
||||||
P1–P4 done on the branch; starting P5 (customization manifest).
|
P1–P5 done on the branch; starting P6 (docs rewrite), then M1 prep (concurrency suite proof +
|
||||||
|
baseline matrix) before claiming M1.
|
||||||
|
|||||||
Reference in New Issue
Block a user