Skip to content

Retire the E0573 self-host standing; rebind the native-route drop onto the required lane's first green run - #12468

Merged
gunbai-bot[bot] merged 6 commits into
mainfrom
session/warm-owl-746
Sep 29, 2026
Merged

gunbai-bot[bot] merged 6 commits into
mainfrom
session/warm-owl-746

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Sep 27, 2026 •

Copy link
Copy Markdown
Contributor

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-build onto 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

  • E0573 standing retired. gunbc.emitted_subject_build_gate emit_build_standing becomes EmitBuildExpectedGreen. Its retirement condition held:
    • Both //gunbc/instruments:self-host and //gunbc/instruments:v2-native-cli exited 0 on srv1 at main 5bfe79be45c (neat-boar-16, MemoryMax=45G).
    • The hosted emit-build job is green on the last 3 main heads (e.g. c39426540c, run 36580079634, about 28 min).
  • emit-build stays HOSTED and NON-blocking. compiler_gate_lane_rows keeps LaneAnnouncedNotBlocking. 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).
  • Native-route rung drop. The v2_native_route_off_the_merge_path trigger is rebound onto the first green merge_group run of emit-build as a REQUIRED lane:
    • LaneBlocks, on the fleet, also executing //gunbc/instruments:v2-native-frontier and publishing [native-frontier-roster] with tested_tree = that merge_group sha.
    • A self-host/native-cli run alone is named NOT sufficient.
  • Witnesses. The aggregate builders stay parameterized over a supplied roster, with main's empty-strict-arm guard kept. The red-arm claims run over a supplied E9999 probe standing. The live claims assert the green, non-blocking notice and that emit-build is absent from needs, the env and the script.
  • Regenerated .github/workflows/witnesses.yml (the E0573 notice is replaced by the green line) and docs/design-rung-drops.md, via generated_artifact_gate main_wet_one.

Evidence at this head

  • claim_batch over test.claim.compiler_gate_emit_build_lane_witness_test: 35/35 PASS, locally on arm64.

Later PR (not here)

🤖 Generated with Claude Code

Brian Searls and others added 2 commits September 27, 2026 23:19
…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 briansrls left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Brian Searls and others added 2 commits September 28, 2026 19:00
…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>
@gunbai-bot

gunbai-bot Bot commented Sep 28, 2026

Copy link
Copy Markdown
Contributor Author

Addresses side-chat review 5342731327 at 96ae63e.

  • the_emit_build_lane_is_announced_and_does_not_block_yet → the_emit_build_lane_blocks: reads the LIVE gate and requires the needs edge, the EMIT_BUILD binding, and both the = failure and != success arms.
  • the_established_lanes_still_block: emit-build joins the exact blocking population (identity join in both directions).
  • w_RED_an_announced_lane_binds_no_variable_and_is_read_by_no_clause: the law is now stated over a SUPPLIED LaneAnnouncedNotBlocking probe row (no surface reached), with the same row as LaneBlocks as its positive half (every surface reached). To supply it, the aggregate builders take the roster as a parameter (compiler_gate_aggregate_script_lines_for, compiler_gate_aggregate_step_env_for, compiler_gate_blocking_rows_of), and the live functions apply them to compiler_gate_lane_rows. The regenerated witnesses.yml is byte-identical.

Evidence (claim_batch, whole module test.claim.compiler_gate_emit_build_lane_witness_test):

  • PR tree: PASS=33 FAIL=0.
  • Revert control (emit-build row temporarily set to LaneAnnouncedNotBlocking, not committed): the_emit_build_lane_blocks FAIL, the_established_lanes_still_block FAIL, the_live_notice_is_green_and_blocking FAIL, w_RED_an_announced_lane_… PASS (the supplied-row law is independent of the live row).

— sent from warm-owl-746

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
@gunbai-bot gunbai-bot Bot changed the title Native route to a required lane: retire E0573 standing, emit-build LaneBlocks, rebind native-route drop trigger Retire the E0573 self-host standing; rebind the native-route drop onto the required lane's first green run Sep 29, 2026
…route_required_pass_identities beyond the smoke member)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@gunbai-bot
gunbai-bot Bot added this pull request to the merge queue Sep 29, 2026
Merged via the queue into main with commit 476baf1 Sep 29, 2026
5 checks passed
@gunbai-bot
gunbai-bot Bot deleted the session/warm-owl-746 branch September 29, 2026 19:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant