You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implements the maintainer's #9283 ruling (Option A — the full suite SHOULD block the merge queue), after the first implementation attempt froze the queue for ~1h45m on 2026-08-17 (~11:30–13:15Z). Full incident record: #9283 comment.
What happened
The required check was registered as CI — the workflow name. Required status checks match check-run (job) names, and no job in ci.yml reports a check named CI, so the context was permanently "Expected": green merge groups timed out, nothing merged from 11:29Z until the maintainer removed the entry (~13:15Z). The failure mode flipped from #9283's "red merges anyway" to "green cannot merge".
Current interim posture (maintainer-set, 2026-08-17)
Required checks include the two existing aggregates Test Core (test-gate) and Dogfood Regression Gate (dogfood-gate). Four gate jobs have no aggregate covering them and are currently not required: Temporal Conformance (live PG + MySQL) — the exact job whose failure merged in #9283 — plus Build Core, Build Docs, Console Pin Gate. The PM has recommended adding those four names in settings as interim protection; this card is the durable fix.
needs: every gate job of the workflow: test-gate, dogfood-gate, temporal-conformance, build-core, build-docs, console-pin (re-derive the list from the file at implementation time, do not trust this card).
if: always() — must run when needed jobs are skipped by the path filter (skips count as pass) and must fail when any needed job has failure or cancelled (read needs.*.result explicitly; do not rely on default propagation, which would skip the roll-up instead of failing it).
Runs on both pull_request and merge_group (both already trigger the workflow).
Runner cost: one ubuntu-latest no-op-shaped job per run — seconds.
Acceptance
On a docs-only PR: CI reports success (all needed jobs skipped).
On a PR with a failing needed job: CI reports failure.
Job name is exactly CI in the check-run list.
Explicitly out of scope / sequencing
⛔ This PR must merge through the queue before the settings change. After it lands, the maintainer (settings surface, not an agent) re-adds CI to the required checks — at that point the per-job interim entries (and even Test Core / Dogfood Regression Gate) can be pruned to the single CI entry.
⛔ No changes to any other workflow, and no change to what the filter job skips.
Implements the maintainer's #9283 ruling (Option A — the full suite SHOULD block the merge queue), after the first implementation attempt froze the queue for ~1h45m on 2026-08-17 (~11:30–13:15Z). Full incident record: #9283 comment.
What happened
The required check was registered as
CI— the workflow name. Required status checks match check-run (job) names, and no job inci.ymlreports a check namedCI, so the context was permanently "Expected": green merge groups timed out, nothing merged from 11:29Z until the maintainer removed the entry (~13:15Z). The failure mode flipped from #9283's "red merges anyway" to "green cannot merge".Current interim posture (maintainer-set, 2026-08-17)
Required checks include the two existing aggregates
Test Core(test-gate) andDogfood Regression Gate(dogfood-gate). Four gate jobs have no aggregate covering them and are currently not required:Temporal Conformance (live PG + MySQL)— the exact job whose failure merged in #9283 — plusBuild Core,Build Docs,Console Pin Gate. The PM has recommended adding those four names in settings as interim protection; this card is the durable fix.The work
Add one roll-up job to
.github/workflows/ci.yml:name: CI— the literal string, chosen so the queue's required context has one stable name that survives job renames (the [Decision] The merge queue merged a group whose full-suiteCIrun concluded FAILURE — measured on77da09bac, now on main #9283 hazard class).needs:every gate job of the workflow:test-gate,dogfood-gate,temporal-conformance,build-core,build-docs,console-pin(re-derive the list from the file at implementation time, do not trust this card).if: always()— must run when needed jobs are skipped by the pathfilter(skips count as pass) and must fail when any needed job hasfailureorcancelled(readneeds.*.resultexplicitly; do not rely on default propagation, which would skip the roll-up instead of failing it).pull_requestandmerge_group(both already trigger the workflow).ubuntu-latestno-op-shaped job per run — seconds.Acceptance
CIreports success (all needed jobs skipped).CIreports failure.CIin the check-run list.Explicitly out of scope / sequencing
CIto the required checks — at that point the per-job interim entries (and evenTest Core/Dogfood Regression Gate) can be pruned to the singleCIentry.filterjob skips.CIrun concluded FAILURE — measured on77da09bac, now on main #9283 (the ruling and both incidents), feat(docs-audit): anchor a docs page on the CLI command phrase a change implements #9290 (realTemporal Conformancefailure correctly held out of the queue, needs its own triage).