Repository navigation
Rung drop: required lanes do not resolve product-layer modules — declared with its population enumerated by a new census instrument, plus two failure-mode rows - #11860
Merged
Conversation
added 5 commits
September 20, 2026 14:49
# Conflicts: # dag/gunbc/instrument_targets.dag # dag/gunbc/target_binding.dag
… population; regen design-rung-drops.md
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Sep 20, 2026
…its census instrument Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
… dangling membership fn (review 69251) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
Author
|
Review 69251 addressed (the lane closed under the wind-down, so I pushed it): |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Required lanes do not resolve product-layer modules: the §4b(3) rung drop, the census that enumerates its population, and two failure-mode rows
Work item
node://adhoc-3bc1b8e0-982, reduced under the 2026-09-20 wind-down ruling (eager-owl-205) to deliverable 2(b): the declared rung-drop row with the unreached population by identity and a restoration trigger naming the capability. The census instrument and the two failure-mode rows were already written when the ruling arrived, so they land with it; deliverable 2(a) (a required lane resolving every witness root's closure) needs a job addition, and the job roster is closed to growth — that is escalated separately and is not in this PR. Deliverable 4 (workflow_dispatch_input_witness_test) is carried by gentle-koi-539's witness-fix PR, not duplicated here.The rung drop —
gunbc.rung_droprequired_lanes_do_not_resolve_product_layer_modulesdag/gunbc/rung_drop/required_lanes_do_not_resolve_product_layer_modules.dag, rostered ingunbc.rung_drop.roster, projected intodocs/design-rung-drops.md(regenerated viatools.generated_artifact_gate main_wet_one; +4 lines, nothing orphaned).LostAsPassenger { carrier: the whole-corpus strict preparation of the floor lane cut by #11742 }.dag/andsrc/v2/in neither the floor job's nominal prepared subject nor the drift gate's entry closure — enumerated by identity by the instrument below, with the snapshot at declaration committed asdocs/rung-drops/required_lanes_do_not_resolve_product_layer_modules_2026-09-20.txt(a receipt of one run, not the authority). All three incident modules are in it:gunbc.site_pxe_edge_converge,gunbc.fabric_required_build_cell,test.claim.workflow_dispatch_input_witness.compile_to_resolvedunder the Strict gate; the retiring observation is the census holding (empty unreached population), after which the census stays enrolled as the regression control. The row states what does not retire it: wideningrequired_gate_prefixes, a change-derived witness population (that retiresrequired_gate_bankruptcy, whose trigger is stated over witnesses), a job added without operator sign-off, or a receipt-only run.required_gate_bankruptcy: the row's header says it — that row's population member (2026-09-02) is the same, but its trigger is stated over witnesses and can fire while this population is still nonempty; the loss is a passenger of the deleted strict preparation, so it carries its own module-grain trigger.claim_batch/gunbc runat exact head over the unreached modules the diff reaches, the binary's sha256, and an rc-red control shown red in the same receipt.The witness-grain disposition TSV eager-owl-205 mentioned is not landing (gentle-koi-539: the upload step's projection could not be regenerated in time); the citable witness-grain figure beside the module-grain census is run 35509509831's
[floor-phase] phase=site-projection … declined_gate_closure=20750.The instrument —
gunbc test //gunbc/instruments:required-lane-resolution-censusgunbc.required_lane_resolution_census(pure fold: admitted − ⋃ lane-resolved, identity grain, receipt one JSON line per unreached identity) andgunbc.required_lane_resolution_census_live(the lane roster read againstgunbc.compiler_gate_workflow's emitted jobs — a job with no classification row is a refusal, never "resolves nothing" — and three compiler queries). "Resolve" means: the module's source is in the set the lane's compile transaction hands tocompile_to_resolvedunder Strict. The subject is nominal (no diff seeds) on purpose: a module a PR touches is resolved on that PR; the loss is the untouched dependent broken by a rename elsewhere.Seed side (
gunbc.required_lane_resolution_census_seed_growth, admitted ingunbc.seed_growth_admission): three free-call queries —source_root_ingest_module_identities(the same producer--required-ciprints asadmitted-module-identities),required_floor_nominal_subject_module_identities(reads the floor's seeds throughrequired_floor_nominal_subject_seeds, extracted fromrun_required_floorand now consumed by the floor too, so the census's reading of the nominal subject is the floor's by construction),entry_closure_module_identities(load_sources_for_entry_with_pool, the callresolve_entry_graphmakes).run_primitive_egress_censusis generalised torun_cli_wire_census(label, entry, function); no new route.Two
recurring_failure_moderowsexit_status_read_through_a_pipe_reports_the_last_stageanda_planted_red_control_positioned_where_it_cannot_fire, each with discriminator, incident receipt and next-rung trigger. Neither driver was in-tree (grep of.githooks,tools,.github/workflows, emittedrun:lines); the one in-tree| tailover a diagnostic subject is already a marked scaffold (gunbc.live_deploy.intent), cited in the row.Evidence, executed at exact head
23c2c28(the.dagpopulations are byte-identical to the run below; the only edit between the run and this head is thecensus_liveaccumulator fix and the receipt files)gunbcsha256b7d9ecf8f546…9911042, built locally on this branch):gunbc test //gunbc/instruments:required-lane-resolution-census→ exit 1, did not hold; summary lineadmitted=6292 reached=2022 unreached=4270 lanes=5; per-lane:compiler/clippy/witnessesresolve no.dagmodule,floornominal subject 1900,floordrift-gate entry closure 1727. Wall 451 s. The full identity list is the committed snapshot file; posted below.gunbc test //gunbc/instruments:no-such-census→ exit 2 (refused, not a pass).claim_batchsha2565cc567c321f8…b4dc90): 8/8test.claim.required_lane_resolution_census_witnessPASS (5 supplied-population claims incl. the red "lanes resolving nothing leave every module unreached", plus 3 pairing claims on the real producers over the two-module decoy fixture root incl. the absent-entry refusal), andtarget_invocation_witness_testroute claim PASS. rc=0.let unreached = []planted inresolution_census→claim_batchrc=1,FAIL lanes_resolving_nothing_leave_every_admitted_module_unreached,FAIL unreached_is_the_admitted_complement_of_the_lane_union, held-arm claim still PASS; mutation reverse-edited (empty diff).Unreached population at declaration (4270 identities; re-derive with the instrument)
🤖 Generated with Claude Code