test: pin daemon modularity migration contracts - #1487
Conversation
|
Size Report
Startup median (7 runs, lower is better):
Top changed chunks: no changes in the largest emitted chunks. |
|
Review at
The discovery tests and remaining edge-derived R10 guards are durable, and exact-head CI is green. No |
|
Addressed both findings in
Validated with format, typecheck, lint, 39 layering tests, 19 focused characterization tests, and Fallow. |
|
Exact-head code review is clean. The new R10 ratchets match the declared daemon-modularity migration constraints, and the reporter/discovery tests exercise production behavior with meaningful counterfactuals rather than source spelling. Static, integration, coverage, Fallow, mutation, and non-iOS smoke checks are green. Readiness is currently held only by the failed iOS smoke: the fixture alert wait timed out while unrelated runner/preflight/replay coverage passed. This head does not change an iOS production path, so it is not a confirmed code regression, but the required check must be rerun or explicitly classified before merge. No |
Summary
Pin the released behavior and architecture baselines needed to safely execute the daemon modularity work in #1478.
This adds characterization coverage for replay-test reporters and Maestro-compatible discovery, plus executable ratchets for SessionState ownership, dependency-cycle size and zone membership, external
daemon/types.tsimporters, logical-module direction, and privateinternal/trees. Production behavior is unchanged.The ratchet implementation keeps one source of truth for each concept: the cycle total is derived from its zone ceilings, layering violations share one model type, and SessionState field counts live with the ownership model.
Scope is limited to P0: 12 touched files. P1 and the in-progress P2 cutover are intentionally excluded.
Part of #1478.
Validation
check:affectedpassed formatting, lint, typecheck, layering, Fallow, metadata sync, build, and all 19 directly affected tests. The layering gate reports R6 at 7, all SessionState fields classified, R7 at 30 writer-owned fields / 42 owner claims, and R9 at 102 files.The full unit lane saturated the host and produced unrelated five-second timeouts across eight files. All eight failure files were rerun serially; 173 tests passed, including an exact comparison run of the remaining Apple runner cancellation case on both
origin/mainand the PR head. CI remains authoritative for the full aggregate and platform jobs.No device verification was required because this PR changes tests, documentation, and enforcement tooling only.