Repository navigation
Retire the E0573 self-host standing; rebind the native-route drop onto the required lane's first green run - #12468
Conversation
…d LaneBlocks, rebind the native-route drop's trigger emit_build_standing -> EmitBuildExpectedGreen: the retirement condition held on main 5bfe79b (srv1: self-host and v2-native-cli both exit 0) and emit-build is green on merge_group on the hosted runner (run 36344502292). The emit-build lane row flips to LaneBlocks, so the aggregate gains the needs edge, EMIT_BUILD and both conditionals by derivation. v2_native_route_off_the_merge_path's trigger now names this lane's first green merge_group run that also executes v2-native-frontier and publishes the [native-frontier-roster] proposal; the self-host/native-cli pair alone is named NOT sufficient, since it executes none of the v2.test universe. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
briansrls
left a comment
There was a problem hiding this comment.
Verdict: REQUEST_CHANGES cb9c122
Blocker [P2]: the live emit-build witness contract was not migrated with the LaneBlocks transition.
File: dag/test/claim/compiler_gate_emit_build_lane_witness_test.dag. Three retained test functions now return false against this head's live workflow:
- the_emit_build_lane_is_announced_and_does_not_block_yet requires emit-build to be absent from both compiler_gate_blocking_job_ids() and the aggregate needs.
- the_established_lanes_still_block requires the blocking identities to equal compiler/clippy/floor/generated, excluding the newly blocking emit-build identity.
- w_RED_an_announced_lane_binds_no_variable_and_is_read_by_no_clause requires EMIT_BUILD to be absent from both the live aggregate environment and script.
These are not prose leftovers or supplied-red fixtures: they ask the live producers. The first even states that the promotion must update it. The new the_live_notice_is_green_and_blocking does not replace these opposing assertions. A green selected CI population does not reconcile them.
Required repair: flip/retire the obsolete live-state assertions and add emit-build to the exact live blocking population. Preserve the general law that an announced lane cannot affect the aggregate as a supplied LaneAnnouncedNotBlocking fixture, rather than continuing to assert it about live emit-build. Execute the whole affected witness module after repair, not only its newly edited declarations; reverting the live row to nonblocking must fail the live blocking controls.
The requested architecture checks otherwise pass: emit-build becomes blocking through the existing closed lane roster, and the generated workflow carries its needs edge, EMIT_BUILD binding, failure clause and non-success clause. This is not merely ordering a job that the aggregate never judges. The v2_native_route_off_the_merge_path drop remains Standing and explicitly says the two emit/build subjects do NOT retire it. Its replacement trigger requires merge-group native-frontier execution over the universe, a tested-tree-bound receipt, measured runner/envelope/supersession conditions, the admission clauses, and observed live false/true controls. The reported false_control_not_observed and true_control_not_observed are honestly no observation, not passing negative tests. I am not requesting full native qualification inside this build-lane promotion.
Source and recorded-evidence review; I did not independently execute the three false claims or rerun the native instrument. The blocking finding is established by their expressions against the changed live roster. No merge action.
…ative-route drop beside this PR's rebound trigger; regenerate witnesses.yml and design-rung-drops.md Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…nced-lane law over a supplied row Side chat REQUEST_CHANGES (review 5342731327). the_emit_build_lane_is_announced_and_does_not_block_yet becomes the_emit_build_lane_blocks (live needs edge, EMIT_BUILD, both script arms); the_established_lanes_still_block adds emit-build to the exact blocking population; and w_RED_an_announced_lane_binds_no_variable_and_is_read_by_no_clause now renders a SUPPLIED LaneAnnouncedNotBlocking probe row, with the same row as LaneBlocks as its positive half. To make that supply possible the aggregate's builders take the roster as a parameter (compiler_gate_aggregate_script_lines_for / _step_env_for / blocking_rows_of); the live functions apply them to compiler_gate_lane_rows, and the regenerated witnesses.yml is byte-identical. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Addresses side-chat review 5342731327 at 96ae63e.
Evidence (
— sent from warm-owl-746 |
briansrls
left a comment
There was a problem hiding this comment.
Re-review at exact head 96ae63e: the source blocker in review 5342731327 is CLEARED. HOLD FOR CI ONLY; this is not an APPROVE-MERGE while the requested green condition is unmet.
The three stale live-state assertions are repaired:
- the_emit_build_lane_blocks now requires the live blocking identity, aggregate needs edge, EMIT_BUILD environment binding, and both the failure and non-success clauses.
- the_established_lanes_still_block includes emit-build in the two-way identity join for the exact blocking population.
- w_RED_an_announced_lane_binds_no_variable_and_is_read_by_no_clause now supplies its own LaneAnnouncedNotBlocking probe. The same probe as LaneBlocks must bind its variable and appear in both script arms, so the law cannot pass through an empty producer.
The supplied-roster script and environment builders are the production builders: their live wrappers apply them to compiler_gate_lane_rows(). Their filtering, strict/fork classification, result-expression rendering, and aggregate needs derivation stay aligned. The committed workflow still judges emit-build rather than only ordering it. No additional job or acceptance-path exemption was introduced.
I credit comment 5877191616's author-reported whole-module PASS=33 FAIL=0, the three live controls failing under reversion to nonblocking, and byte-identical regeneration after the parameterization. I inspected both halves of the witness and the live consumers; I did not independently run claim_batch or regenerate the workflow.
The native-route drop remains Standing. The emit/build pair is still explicitly insufficient to retire it; actual native-frontier execution and observed live false/true controls remain required. This review clears the build-lane witness migration, not native-lane qualification.
CI at the last check: exact-head witnesses run 36474215907 is pending, conclusion null, with no jobs returned. The requested condition is green CI, so I am withholding the APPROVE event until that exact-head run/check population succeeds. No merge action.
…ld stays hosted and announced Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…route_required_pass_identities beyond the smoke member) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
briansrls
left a comment
There was a problem hiding this comment.
Verdict: APPROVE 49f9522
This exact-head approval supersedes my stale REQUEST_CHANGES review 5342731327, which addressed an earlier LaneBlocks version. The PR is now retire-only: the E0573 standing becomes ExpectedGreen, while emit-build remains hosted and explicitly LaneAnnouncedNotBlocking pending operator sign-off on the fleet claim.
The current live witnesses agree with that standing. They require emit-build to be absent from blocking IDs and aggregate needs, require the exact live blocking population to remain floor + generated, and require both live announced lanes to reach neither the aggregate environment nor script. The general announced-lane law remains parameterized over a supplied row with the same row as LaneBlocks as its positive discriminator, so the nonblocking state is declared rather than inferred from absence.
The rebound native-route trigger remains capability-grained and does not confuse this retirement with native qualification: retirement still requires a future LaneBlocks fleet run that executes v2-native-frontier over the universe, publishes a tested-tree-bound roster, preserves the required-pass floor and classified refusals, and observes the live false/true controls. A green self-host/native-cli build alone is explicitly insufficient.
Exact-head workflow 36599024839 is green across rust-unit-tests, emit-build, generated, floor, and witnesses. This approves the retire-only head, not the later fleet flip or frontier step. No merge action.
Operator ruling 2026-09-27 (node adhoc-11684de4-07b). Scope narrowed to RETIRE-ONLY (v2 foundation manager, 2026-09-29). The fleet-now vs retire-only decision is still open with the operator. Moving
emit-buildonto the fleet is a standing runner claim that needs operator sign-off. Taken over from warm-owl-746 by still-moth-28 after an explicit release.What this changes
gunbc.emitted_subject_build_gate emit_build_standingbecomesEmitBuildExpectedGreen. Its retirement condition held://gunbc/instruments:self-hostand//gunbc/instruments:v2-native-cliexited 0 on srv1 at main5bfe79be45c(neat-boar-16, MemoryMax=45G).emit-buildjob is green on the last 3 main heads (e.g.c39426540c, run 36580079634, about 28 min).emit-buildstays HOSTED and NON-blocking.compiler_gate_lane_rowskeepsLaneAnnouncedNotBlocking. The flip trigger is rewritten: the red is gone, so what now holds the lane back is operator sign-off on the fleet claim (compiler_gate_merge_path_runs_on_the_fleet).v2_native_route_off_the_merge_pathtrigger is rebound onto the first green merge_group run ofemit-buildas a REQUIRED lane://gunbc/instruments:v2-native-frontierand publishing[native-frontier-roster]with tested_tree = that merge_group sha.emit-buildis absent fromneeds, the env and the script..github/workflows/witnesses.yml(the E0573 notice is replaced by the green line) anddocs/design-rung-drops.md, viagenerated_artifact_gate main_wet_one.Evidence at this head
claim_batchovertest.claim.compiler_gate_emit_build_lane_witness_test: 35/35 PASS, locally on arm64.Later PR (not here)
🤖 Generated with Claude Code