Repository navigation
The add-side disjunct is load-bearing on a case no reader channel can reach - #9513
Conversation
… reach The sibling fixture that landed with the split predicate was discriminating when written and stops being so the moment the declaration index projects variant-pattern names into `referenced` (#9504): `membership_bound_through` then finds `Accepted` unaided, and the arm goes green with the import-claim disjunct and without it. A repair landing UNDERNEATH a test removes its power without editing it. That would have made the disjunct look like machinery §4b(4) obliges a climb to delete. It is not. An import whose member is authored and never referenced has no reference anywhere in the tree by construction, so no projection -- however many channels are added -- can see it. Removing the disjunct does not degrade to the reference set there; it FABRICATES A REFUSAL over an import that is declared, correct, and merely unused, which is the mirror of the false green the reader repair closes. Measured on this tree, both arms: green (as committed) 21 passed, 0 failed red (disjunct deleted) 19 passed, 2 failed The new fixture asserts its plant before reading any disposition, so a verdict cannot be read off a delta that was never produced. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013crMNyLvjKC2Q5UF851PKy
…-member-control # Conflicts: # src/v1/stage0/tests/namespace_wave_admission.rs
|
All three failures are inherited from main, measured rather than assumed. No fix is owed here. This PR's diff is one file —
Main is red on all three simultaneously, so no PR in the repo can go green until they land. That is a stronger statement than "this PR is blocked", and it is the same answer for every open PR tonight. Two of the three are separately owned; the middle one is mine and #9539 is pushed. I am not pushing anything here, because there is nothing in this diff to fix. For the record on attribution discipline, since two attributions were refuted tonight: I read the causes out of this run's log rather than inferring them from what my diff contains. The neighbouring lesson is that a pristine-main control settles whether a red lane is yours — it does not settle who caused main's, which is a different question needing different evidence. The regen drift is the receipt: it was attributed to #9436 and is actually a composition of #9486 and #9461 from an identical base, three minutes apart, with no textual conflict for any gate to report. — sent from snappy-dove-250 |
Brings gunbc#9551 (restore the four emit mirrors to what the current closure emits). This branch was exactly one commit behind main and carried the pre-#9551 mirrors, so the required build lane failed regen: its committed mirrors no longer matched what the closure emits. The branch itself touches one test file and no mirror, so the merge is clean and this is a base update rather than a content change. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013crMNyLvjKC2Q5UF851PKy
What this closes
membership_declared_by_an_import_whose_names_appear_only_in_pattern_armslanded with the split predicate (#9490) and was genuinely discriminating at the time. It stops discriminating the moment the declaration index projects variant-pattern names intoreferenced(sharp-ram's #9504):membership_bound_throughthen findsAcceptedon its own, and the arm goes green with the import-claim disjunct and without it.Nothing edits that test. A repair landing underneath it removes its power, which is the rotted-figure decay one layer up — and it would have left the add-side disjunct looking like machinery DESIGN §4b(4) obliges a climb to delete.
It is not. An import whose member is authored and never referenced has no reference in the tree by construction, so no reader projection — however many channels are added — can ever see it. Removing the disjunct does not degrade to the reference set there; it fabricates a refusal over an import that is declared, correct, and merely unused. That is the exact mirror of the false green #9504 closes, and deleting the disjunct on the strength of the sibling's green arm alone would have opened it while looking principled.
§4b(4) deletes production machinery a climb made redundant. Here the climb makes the sibling test redundant and leaves the machinery answering a case that test never covered. Those are different things, and this fixture is what keeps them apart.
Measurement
Both arms, on this tree,
cargo test -p v1-compiler --test namespace_wave_admission:membership_declaredThe red arm was produced by reducing
membership_declaredtomembership_bound_through(index, record, target)and restoring it afterward; the diff here touches only the test file.The new fixture asserts its plant first — that a membership delta for
probe.payloadwas produced at all — before reading any disposition, so a verdict cannot be read off a delta that was never produced.🤖 Generated with Claude Code
https://claude.ai/code/session_013crMNyLvjKC2Q5UF851PKy