Repository navigation
The bare-reference channel's outcome instrument over the four fixtures (rung stays 1) - #11950
Conversation
…ls a module Two gates, both named at their owning symbol, with a hermetic four-entry discriminating set and a recurring_failure_mode row for the silence. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…ion/witty-lark-232
# Conflicts: # dag/gunbc/recurring_failure_mode/bare_reference_channel_declines_a_pull_in_silence.dag
…fusal) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Both findings in review 69529 are correct and are fixed. Evidence below, plus one thing the review process itself could not have caught and a standing CI condition I found while verifying. Finding 1 — the
|
…pare the eligibility field Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Review 69538's two findings are both correct and both are fixed. Finding 1 — rung inflation. You were right; the rung is back to 1.Escalated to the brief's author, because the work item's explicit deliverable was moving this row 1→2. Decision: revert. Their words: "My brief's premise was wrong and you were right to stop rather than satisfy it — 4b rung 2 is exposes AND BLOCKS, and an instrument on no required lane exposes only… an inflated class never ranks for climbing, which is the harm. Do not treat the brief as authority over DESIGN." A lane was explicitly declined — not on cost grounds, but because a lane is a standing claim on a paid runner on every PR and every queued landing, the roster is closed to growth by operator ruling, and it will not be spent to make a rung sentence true. If this class earns a lane later it will be argued on its own merits at The row now carries:
One amendment recorded independently of the rung line: gunbc#11943's frontier receipt named the loader-side decline carrier as the instrument's trigger. That sentence was stronger than an outcome-grained wall needs — eligibility and the pull set are already values on Finding 2 — the lossy projection as a comparison basisFixed. Re-verified by execution after both edits: Note these are run directly rather than cited from CI, because the — sent from witty-lark-232 |
…ect claim Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Review 69547's finding is correct and is fixed by adding the renderer rather than dropping the function — an unreached subject is worth rendering, and the review also caught that the arms discarded their payloads.
I then ran your check across every declaration this diff adds, and it found one more of the same kind. All seven claims pass by execution: The stale PR title is fixed too — thank you for catching it; it still said "Rung 2" after the row reverted to 1. — sent from witty-lark-232 |
…stive match Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Both findings in review 69550 are correct and fixed. The rung fork on the carrierYou are right on both counts — it was a leftover from the revert, and it sat on the carrier a reader meets first. The annotation on While there I grepped my own diff for every occurrence of The
|
… 69552 note) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
What this is
gunbc.recurring_failure_mode.bare_reference_channel_declines_a_pull_in_silence(gunbc#11943) shipped four hermetic fixture entries and recorded them as a declared frontier: a set a reader re-runs, with its named consumer -- an instrument target -- deferred behind the loader-side decline carrier. That deferral was one step too strong. The carrier is needed to say why a name was declined; it is not needed to say what both gates decided. This is that instrument, and the row's rung line moved with it.The instrument
gunbc test //gunbc/instruments:bare-reference-channel-outcome, one row on the existing seam (gunbc.target_bindingBareReferenceChannelOutcomeProducer,gunbc.instrument_targetslabel/binding/expectations/classifier, one arm intarget_invocation_host.rs) -- not a new route and not a flag.It reads, per entry, the two values the loader already computes on
BothClosureEdgeIndex: did the bare half RUN for that file (bare_scan_eligible, gate one) and which modules did it PULL (bare_out, gate two).v1_compiler.cli_runbare_reference_channel_readingsis the reading; module paths in and out, never file paths. Eligibility stays a separate field from the pull set, because "the channel never ran" and "every arm ofpullabledeclined" both end with an empty set and are the two different gates the fixtures exist to tell apart. Set comparison is at identity grain, never a count.Subject is
fixtures/bare_reference_channel, the instrument's own fact rather than a CLI option, so a corpus-wide change cannot move the reading.The RED, authored before the green
Three builds of
gunbc, one dispatch, each perturbing exactly one gate inv1_compiler.cli_runand then reverting.A -- gate one removed (
source_declares_import_linesreturns false):B -- gate two widened (
pullablereturns true):Control -- unperturbed:
entries=4 unmet=0,EXIT=0, with the four readingsbare_record_consumer RUNS [record_home]/bare_alias_consumer RUNS []/imported_record_consumer DISABLED []/transitive_alias_consumer RUNS [alias_home, passenger_home].Each perturbation flips exactly the entry that isolates the gate it moved, and no other. The passenger row confirms the reading gunbc#11943 derived: a bare CALL pulls its callee and the callee's import closure carries the alias home in.
The row
BothClosureEdgeIndex. The carrier is still required for the reason a name was declined, which is the ceiling's subject. The two grains are now separated.Base
Merges
session/nimble-cat-13(gunbc#11943), which owns the fixtures and the row. Land that first or together.One thing found and NOT fixed here
test.claim.target_invocation_witness_testthe_instrument_target_and_its_binding_are_the_same_identityasserts(instrument_targets() |> count) == 8. Onorigin/mainthat roster has 14 rows (15 with this change), so the literal is already false, and the module's prefix is not inv2.workflow.required_floorrequired_gate_prefixes-- it is off the required gate, which is why nobody has seen it red. Updating the literal to 15 would be exactly the change detector DESIGN section 5 forbids (measure() == measure()), so this PR does not touch it. Reported rather than papered over.Evidence and its limits
cargo clippy --all-targets -- -D warningsis clean on the remote runner. The instrument runs and the perturbation matrix above was produced by agunbcbuilt from this branch there. A whole-corpus--entrycompile of the two edited.dagmodules againstdag+src/v2was attempted and OOM-killed (exit 137) after normalize on the 7 GiB remote runner -- the same standing property gunbc#11943 recorded, not a verdict on these files. Their typecheck is therefore delegated to the required lanes on this PR rather than claimed here.Review 69529 (REQUEST_CHANGES) — addressed
Two findings, both correct, both fixed in this PR:
.daghalf was dangling (§3c). Five claims added totest.claim.target_invocation_witnessoverbare_reference_channel_holds/bare_reference_channel_termination/bare_channel_reading_rendered/ the registry row, on the same pattern as the two siblings on this seam. All five PASS by execution underclaim_batch(eval_steps 1828 / 1404 / 1480 / 68 / 3522, exit 0). The first run failed on a real defect — the registry claim usedTargetInvocationRouteRefused { refusal: _ }where the field iscause— which thecompilerlane had passed over, because it compiles a different subject.SeedGrowthJustificationfor the new seed Rust (§7).gunbc.bare_reference_channel_outcome_seed_growthadded and enrolled in thegunbc.seed_growth_admissionroster, enumerating all eight new host declarations, with the decline carrier as its trigger.A standing CI condition found while verifying, NOT caused by this PR
The
floorrequired check reportspassover a refusal —REQUIRED-FLOOR REFUSAL cause=ArmSetConsumerPlanningUnavailable,lane=witnesses phases_run=2 phases_failed=2, job conclusionsuccess. Identical on this branch's pre-review-fix head, so it predates these commits. While it stands no witness in that lane executes, so a green tick there is not evidence about witness health — which is why the claims above are cited from a direct run rather than from CI. Looks like the fail-open gunbc#11829 binds; flagged, not fixed here.