Repository navigation
boundary-coverage wall: model the CI minimum-safe-floor as boundary-coverage non-redundancy - #6081
gunbai-bot[bot] wants to merge 19 commits into
Conversation
Model the CI 'minimum safe floor' as boundary-coverage non-redundancy (DESIGN.md S2),
enforced as an up-front construction wall (S5), replacing the layer-span proxy.
A Boundary is the contract between adjacent pipeline stages (a->b). Two axes, both
enforced at compile time:
- completeness: every required boundary has a faithful-mock test (untested boundary
= compile error); and
- faithfulness: a mock must exercise EVERY field of the real contract, so coverage
cannot be faked by an anemic/hollow stub.
8 witnesses green by execution (gunbc run --claim-run) prove both axes discriminate:
the wall returns false on an uncovered boundary and on an anemic mock, true only on
complete+faithful coverage.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Perf fix (was O(facts^2) over the whole import graph, ~90s -> <1s):
- scope importer_roots to test dirs (only tests bridge boundaries);
- filter to pipeline-stage imports BEFORE the nested coverage scan, so it runs
over the handful of stage edges, not thousands of corpus edges.
Classification: all 5 pipeline boundaries (tokenize->parse->resolve->infer->translate
->emit) are bridged by real tests, so corpus_coverage_wall_holds is GREEN on the live
corpus -- a hard green gate, no red-ramp needed. New witness corpus_pipeline_fully_covered
runs the whole wall over real import facts in ~1s.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ens hygiene) v2.lens.* modules must carry a construction_justification (fail-closed floor hygiene check); the corpus module was missing it. WallNow / SingleAuthority, authority = corpus_coverage_wall_holds. Witnesses still green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Inline !mock_is_faithful and !boundary_covered_live instead of parallel-representation helpers (mock_is_unfaithful / boundary_uncovered_live) -- a negated predicate is a second representation of the same fact, exactly the redundancy this PR targets. All witnesses still green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Thanks — both advisory findings are fair; noting scope for the record: 1. 2. — sent from bright-cat-462 |
# Conflicts: # src/v2/lens/unwired_model.dag
|
CI status: the floor is 1169/1170 green. The single red is
All boundary-coverage witnesses pass in-floor. This PR is content-complete (2 approvals, 0 request-changes, merged with main). The remaining red is inherited and needs an upstream fix to — sent from bright-cat-462 |
|
Good nit, agreed in principle. Scoping it: The clean form is to lift a typed — sent from bright-cat-462 |
|
Both findings are valid. Status: Finding 2 (missing_fields duplicates missing_keys) — fixed. Finding 1 (pipeline_stages skips normalize) — valid, and correcting it exposes a deeper issue I don't want to paper over. The real compile spine per But when I ground the spine on that authority and re-check coverage with the current import-bridging proxy, The honest fix is therefore both corrections together: ground the spine on — sent from bright-cat-462 |
|
Agreed, trivial nit — |
|
Acknowledged — this REQUEST_CHANGES is correct and I'm keeping it open. To restate the plan (from my prior reply): the fix isn't just inserting |
|
Thanks — both points addressed: Scope creep (fixed). The §3 (single authority). On #6107: the Ubicloud runner isn't a fleet Re-review of the trimmed boundary-coverage diff appreciated. — sent from bright-cat-462 |
What & why
Models the "minimum safe floor" as boundary-coverage non-redundancy (DESIGN.md §2), enforced as an up-front construction wall (§5) — not cost, not layer-span, not a folder proxy. (Supersedes the layer-span approach from the earlier, now-closed #6054.)
A
Boundaryis the contract between adjacent pipeline stages (a→b). The floor is the minimal set covering every boundary once with a faithful mock; composed/integration paths (a→d) are redundant because faithfulb/cmocks already cover each edge.Two axes, enforced at compile time
Grounded & live
boundary_coverage.dag— model + both walls. 8 witnesses green by execution.boundary_coverage_corpus.dag— grounded over the real corpus: boundaries from the real pipeline (tokenize→parse→resolve→infer→translate→emit); coverage from real import facts (import_resolution_facts_live). 3 witnesses green live.Composition with affected-set
Wall = the always-checked invariant (cheap, structural). Affected-set = the execution minimizer. The wall makes affected-set pruning sound (every boundary provably covered ⇒ running only affected mocks suffices). Affected-set execution pruning is blocked on the resolver root fix; the wall goes live without it.
🤖 Generated with Claude Code
What the corpus wall currently proves (scope)
boundary_coverage_corpus.dag.coverage_wall_holds/mock_is_faithfulmodel the anti-anemic axis; groundingContract.required_fieldsfrom the producerTypeItem— and distinguishing a faithful mock from a redundant integration bridge — is the dispatched follow-on.