Repository navigation
Delete the gunbc#11660 namespace transition admission row (consumed at its landing) - #11739
Merged
Merged
Conversation
…t its landing) The enrollment_id_for_code TargetChanged admission was consumed by its own merge: the binding's head candidate set equals the base's, so the row's protection is spent and deletion is owed. Left in place it refuses every run whose diff touches the roster directory (consumed_due = roster_touched), which is currently 100% of merge_group runs -- the queue is full of namespace-wave PRs that each author a row. 8 of 8 merge_group runs in the last 3h refused on this one row with a clean floor (run 35461710214: 0 unadjudicated deltas, 0 stale, 1 consumed due, floor 4264/4264 clean). Same shape as #11466 (deleted the consumed #11461 rows). The 4 used rows without a deletion follow-up stay: those refusal arms were removed by the 2026-09-16 operator ruling (gunbc#11481); the debt is a record, not a charge.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
briansrls
pushed a commit
that referenced
this pull request
Sep 20, 2026
… 2026-09-19) The wall measured closure, subject-membership and occurrence-binding deltas between merge base and head and refused unadjudicated motion. Its transition-admission bookkeeping loop refused 8 of 8 merge_group runs on a clean floor (run 35461710214: 0 unadjudicated deltas, 0 stale, 1 consumed row due; floor 4264/4264 clean) at a median 93 minutes of fleet time per queued PR. Operator ruling: delete the gate outright. - claim_executor: drop the NamespaceWaveAdmission phase (enum, name/lane arms, phase block, roster labels); the roster is four phases. - dag/gunbc/required_ci_phase_roster: remove NamespaceWaveAdmissionPhase variant, name, lane row (atomic with the host enum -- the join refuses divergence in either direction). - Delete dag/gunbc/namespace/transition_admission/ (41 rows) and transition_admission.dag: no executing consumer remains. - Delete dag/gunbc/namespace/namespace_wave_admission.dag (the wall's note and its two guarantee-stall rows; the stall roster is amended). - namespace_wave_admission.rs -> cli_run/namespace_baseline.rs: the baseline-reconstruction machinery the floor's planning row and joint_claim_join still use survives under a name that does not name the deleted gate; seed-growth and crate-layout rosters amended. - compiler_frontend_program_interlock: the NamespaceFirstSemanticWave -> NamespaceWaveAdmissionEnrolled edge is voided (the milestone variant stays; its standing now reads the drop row). - compiler_frontend_program_status: milestone standing derives from gunbc.rung_drop namespace_wave_admission_wall_removed. - Delete the wall's two integration tests; the parse-environment decode roundtrip witness stays as the loader's enrolled evidence. Coverage that falls is declared at gunbc.rung_drop namespace_wave_admission_wall_removed (population + restoration trigger: a debt-collection design that never charges bystanders, plus a landing-time enforcement run). Supersedes the interim unblock #11739.
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.
What blocks the merge queue right now
8 of 8
merge_groupruns in the last ~3h refused with:(run 35461710214; floor clean: planned=4264 executed=4264, verdict=FloorClean.)
The consumed row is
gunbc_auth_approval_device_redemption_enrolment_admission_enrollment_id_for_code.dag, authored by #11660. Its wave landed, so the row'sexpected_candidatesset equals the base's — consumption — and deletion is owed. TheFOLLOW-UP ABSENTlines in the same log are not the refusal: those arms were removed by the 2026-09-16 operator ruling (gunbc#11481);used_without_follow_upis counted in the message but does not fire.Why every queued PR hits it
A consumed row refuses only when
roster_due(base == heador the roster directory is touched). The push-to-main run that used to enforcebase == headon landing no longer exists (merge queue), so the debt waits for the next roster touch — and the queue is currently full of namespace-wave PRs that each author their own row, soroster_touchedis true on every group. Bystander PRs that don't touch the roster pass with this row present.Why this PR passes its own gate
It touches the roster, but at its head the consumed set is empty — the gate's printed remedy is exactly this deletion. Precedent: #11466 deleted the consumed #11461 rows.
The 4 used-without-follow-up rows stay: their waves are in flight and deleting them would turn those PRs' deltas unadjudicated.
What this does not fix (follow-up, deliberately separate)
The loop re-arms on every wave: row consumed at merge → deletion owed → no landing run enforces it → next roster-touching PR eats a ~50–90 min refusal. Options (fail-fast on admission refusal / stop charging consumed rows on
roster_touched/ retire the wall by rung-drop ruling) are being discussed separately.