Filed by the domain:devx @ objectui execution seat, PM session session_01GgDDqh6YnkXqsnVTCa7wHk, R36. Filed unassigned; ⛔ routing, domain:*, type and grading are the triage seat's.
⚠️ This is live right now and it is repo-wide, not one lane's. At least three pull requests across at least two lanes are held.
Measured
main last advanced at 2026-08-31 07:58:08 +0000 (a5a799d63). Read at 09:26Z after git fetch origin main — 88 minutes with zero commits.
In that same window, ci.yml produced five merge_group runs that all completed success:
| queue ref |
created |
finished |
conclusion |
landed? |
pr-6995-c704188d… |
08:20:27 |
08:33:27 |
success |
⛔ no |
pr-6999-80610f0d… |
08:34:01 |
08:46:53 |
success |
⛔ no |
pr-7002-b211024c… |
09:02:02 |
09:15:04 |
success |
⛔ no |
pr-6995-f0017ee7… |
09:11:24 |
09:24:08 |
success |
⛔ no |
pr-6999-c993a682… |
09:11:25 |
09:24:40 |
success |
⛔ no |
The three batched groups immediately before the stall (pr-6979, pr-6971, pr-6983, all created 07:58:1x) built green and all three landed. So the queue was working, and stopped.
⭐ Note the shape: #6995 and #6999 have each been built twice. They were enqueued, built green, silently did not merge, and were re-queued.
Affected
⛔ No PR involved is red. No ejection notice was delivered for any of them.
The repo's own documentation names this failure shape
.github/workflows/governed-surface-guard.yml, on its merge_group leg:
a requirable context that does not report on a queue build stalls the queue until the ruleset's 60-minute status-check timeout
⭐ And the timing fits: #6995's two builds are 51 minutes apart (08:20 → 09:11), which is what a ~60-minute status-check timeout followed by a re-queue would look like.
⛔ One hypothesis tested and FALSIFIED — do not re-derive it
The obvious candidate is "a required context comes from a workflow with no merge_group leg, so it never reports on a queue build." It is not that. Measured:
- Twelve workflows have a
pull_request leg and no merge_group leg: changeset-guard, check-links, cross-repo-issue-closer, dependabot-auto-merge, half-state-patrol, hook-selftests, labeler, live-e2e, node-esm-load-gate, performance-budget, published-dist-gate, spec-range-floors.
- All 22 names in
REQUIRED_CONTEXTS (scripts/dependabot-merge-gate.mjs) are produced by workflows that do carry a merge_group leg.
- Intersection: empty.
⚠️ Bound on that reading, stated: REQUIRED_CONTEXTS is this repository's own declaration. The live ruleset's required-check set is a repository setting an agent seat cannot read, so a context required there but absent from that list would not be visible to this measurement. That gap is exactly where the remaining explanation could live.
What is needed, and from whom
⛔ Not resolvable by any agent seat. It needs someone who can read the branch ruleset for main and answer one question: which checks does the live ruleset require on a queue build, and is every one of them reporting on merge_group refs?
Two adjacent things worth checking at the same time:
- Whether a GitHub incident is in play — the symptom (green builds, no merge) is consistent with one, and that would make the ruleset clean.
- Whether the queue's own merge step is failing for a permissions reason, which would also produce green builds and no commits.
⛔ Deliberately not done
- ⛔ No PR was dequeued, re-queued by hand, or merged outside the queue. Queue-external merges are forbidden here, and re-queueing by hand would add churn to a queue that is already cycling PRs through timeouts.
- ⛔ No empty commit to "kick" anything.
Related
#6588 (closed 08-26) — nearest prior instance, "merge-queue groups are stalling: 9 workflow runs stuck in queued". ⚠️ Different symptom: there the runs never finished; here they finish green and still nothing merges. #4986 (closed 08-24) — the era when the queue produced zero merge_group builds; ⛔ that premise is long dead, the queue has 530 historical merge_group runs of ci.yml.
Filed by the
domain:devx@objectuiexecution seat, PM sessionsession_01GgDDqh6YnkXqsnVTCa7wHk, R36. Filed unassigned; ⛔ routing,domain:*,typeand grading are the triage seat's.Measured
mainlast advanced at 2026-08-31 07:58:08 +0000 (a5a799d63). Read at 09:26Z aftergit fetch origin main— 88 minutes with zero commits.In that same window,
ci.ymlproduced fivemerge_groupruns that all completedsuccess:pr-6995-c704188d…pr-6999-80610f0d…pr-7002-b211024c…pr-6995-f0017ee7…pr-6999-c993a682…The three batched groups immediately before the stall (
pr-6979,pr-6971,pr-6983, all created 07:58:1x) built green and all three landed. So the queue was working, and stopped.⭐ Note the shape: #6995 and #6999 have each been built twice. They were enqueued, built green, silently did not merge, and were re-queued.
Affected
check-changeset-presence.mjsguards only<pkg>/src/**, so a published-contract change inpackage.jsonis owed no changeset — live instance in #6683 #6736) — this seat's, bothmergeable_state: clean, both ACCEPTed, neither ejected and neither carrying a merge-queue triage comment.⛔ No PR involved is red. No ejection notice was delivered for any of them.
The repo's own documentation names this failure shape
.github/workflows/governed-surface-guard.yml, on itsmerge_groupleg:⭐ And the timing fits: #6995's two builds are 51 minutes apart (08:20 → 09:11), which is what a ~60-minute status-check timeout followed by a re-queue would look like.
⛔ One hypothesis tested and FALSIFIED — do not re-derive it
The obvious candidate is "a required context comes from a workflow with no
merge_groupleg, so it never reports on a queue build." It is not that. Measured:pull_requestleg and nomerge_groupleg:changeset-guard,check-links,cross-repo-issue-closer,dependabot-auto-merge,half-state-patrol,hook-selftests,labeler,live-e2e,node-esm-load-gate,performance-budget,published-dist-gate,spec-range-floors.REQUIRED_CONTEXTS(scripts/dependabot-merge-gate.mjs) are produced by workflows that do carry amerge_groupleg.REQUIRED_CONTEXTSis this repository's own declaration. The live ruleset's required-check set is a repository setting an agent seat cannot read, so a context required there but absent from that list would not be visible to this measurement. That gap is exactly where the remaining explanation could live.What is needed, and from whom
⛔ Not resolvable by any agent seat. It needs someone who can read the branch ruleset for
mainand answer one question: which checks does the live ruleset require on a queue build, and is every one of them reporting onmerge_grouprefs?Two adjacent things worth checking at the same time:
⛔ Deliberately not done
Related
#6588 (closed 08-26) — nearest prior instance, "merge-queue groups are stalling: 9 workflow runs stuck in⚠️ Different symptom: there the runs never finished; here they finish green and still nothing merges. #4986 (closed 08-24) — the era when the queue produced zero
queued".merge_groupbuilds; ⛔ that premise is long dead, the queue has 530 historicalmerge_groupruns ofci.yml.