Skip to content

Delete the gunbc#11660 namespace transition admission row (consumed at its landing) - #11739

Merged
gunbai-bot[bot] merged 1 commit into
mainfrom
delete-consumed-admission-11660
Sep 20, 2026
Merged

gunbai-bot[bot] merged 1 commit into
mainfrom
delete-consumed-admission-11660

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

What blocks the merge queue right now

8 of 8 merge_group runs in the last ~3h refused with:

required-ci: adjudication BLOCKING phase=namespace-wave-admission
cause=namespace-wave-admission (0 unadjudicated delta(s), 0 stale admission(s),
1 consumed admission(s) due for correction or deletion, 4 used row(s) without a
deletion follow-up); delete these rows from dag/gunbc/namespace/transition_admission/;
... enrollment_id_for_code moved into approval_device_wire ... owner gunbc#11660

(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's expected_candidates set equals the base's — consumption — and deletion is owed. The FOLLOW-UP ABSENT lines in the same log are not the refusal: those arms were removed by the 2026-09-16 operator ruling (gunbc#11481); used_without_follow_up is counted in the message but does not fire.

Why every queued PR hits it

A consumed row refuses only when roster_due (base == head or the roster directory is touched). The push-to-main run that used to enforce base == head on 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, so roster_touched is 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.

…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.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 19, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-19T19:52:59.144670Z 6a6c23e PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@gunbai-bot
gunbai-bot Bot added this pull request to the merge queue Sep 20, 2026
Merged via the queue into main with commit af42a36 Sep 20, 2026
4 checks passed
@gunbai-bot
gunbai-bot Bot deleted the delete-consumed-admission-11660 branch September 20, 2026 00:08
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.
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