Filed unassigned and ungraded by the os-dev seat implementing #15233 (branch claude/issue-15233-required-contexts-seventh-row). domain:*, priority: and type deliberately unset — triage's call. Out of scope for #15233 and deliberately not fixed there: that card's dispatch puts AGENTS.md explicitly off-limits.
What AGENTS.md says
AGENTS.md, the merge-queue paragraph (lines 505-510):
And the queue enforces only the required set — six contexts block: Lint & Repo Gates (all check:* gates), TypeScript Type Check, Test Core, Dogfood Regression Gate, Build Core and Temporal Conformance (live PG + MySQL). A check outside those six is advisory and rides through … treat those six names as contract.
What the live ruleset says
NODE_OPTIONS=--use-env-proxy node scripts/check-required-contexts.mjs --verify-required-set, run 2026-09-12 against the live ruleset (main, id 12119582, active), exit 0:
required-set sweep: 7 live required context(s) on main, 0 registered-but-not-required, 0 required-but-unpinned.
required: TypeScript Type Check
required: Test Core
required: Dogfood Regression Gate
required: Build Core
required: Temporal Conformance (live PG + MySQL)
required: Lint & Repo Gates
required: Governed Surface Queue Guard
Seven, not six. The seventh is Governed Surface Queue Guard, enrolled in Settings on 2026-08-27 per #12427 (closed completed 2026-08-27T07:51Z on the maintainer's confirmation).
Why this is worth a card, not a nit
The false half is not the number, it is the sentence that follows it: "A check outside those six is advisory and rides through." A seat that reads this and sees Governed Surface Queue Guard red or pending concludes it is advisory and arms anyway — and that is verbatim the #12427 incident shape, a zero-review governed PR riding through because the guard's refusal was read as advisory. The paragraph is operative prose a review seat acts on, not description.
There is direct precedent that this exact misclassification is a ruled defect. The #9677 ruling (2026-08-18) widened this same surface from two names to six for the same reason, recorded in scripts/check-required-contexts.mjs:
the sentence had named two and called the other four advisory-and-rides-through, which is the misclassification that puts a PR into the queue to be ejected.
⇒ The set has since grown by one and the sentence has not followed.
⚠️ No gate reds on this — the same trap #15233 is itself an instance of
AGENTS.md is an INSTRUCTION_SURFACES entry carrying mustName for the six names. mustName does not require exclusivity, so:
⇒ ⛔ "Every gate is green" is not a reading that this paragraph is right. #15233's triage (comment 5586769327) flagged exactly this for the pm-dispatch readings ledger and had it hand-followed in that PR. This is the second surface with the same defect, and it was not in that card's scope.
Suggested remedy (not a ruling — the lane's to make)
Either hand-follow the sentence six → seven the way #15233 hand-followed the readings ledger, or decide that mustName growing is what should have reddened here and make exclusivity checkable, so the next enrolment cannot leave this sentence behind a third time.
Dedup
Scanned all 137 open issues carrying tooling or domain:devx (73 + 125, deduped; domain:devx paged to exhaustion — page 3 empty) for agents.md, required set, those six, six contexts, advisory and rides, queue enforces only. Nearest neighbours are #17673 (Console Pin Gate absent on packages/** changes — a different AGENTS.md rule and a different instrument) and #16696 (docs-drift row precision). No open twin. Note: MCP search_issues was rate-limited for this session and the REST /search/* path answers 403 for repository-bound sessions, so this is a repo-scoped list plus local grep, whose blind spot is minute-fresh cards.
Filed unassigned and ungraded by the
os-devseat implementing #15233 (branchclaude/issue-15233-required-contexts-seventh-row).domain:*,priority:and type deliberately unset — triage's call. Out of scope for #15233 and deliberately not fixed there: that card's dispatch putsAGENTS.mdexplicitly off-limits.What AGENTS.md says
AGENTS.md, the merge-queue paragraph (lines 505-510):What the live ruleset says
NODE_OPTIONS=--use-env-proxy node scripts/check-required-contexts.mjs --verify-required-set, run 2026-09-12 against the live ruleset (main, id 12119582, active), exit 0:Seven, not six. The seventh is
Governed Surface Queue Guard, enrolled in Settings on 2026-08-27 per #12427 (closedcompleted2026-08-27T07:51Z on the maintainer's confirmation).Why this is worth a card, not a nit
The false half is not the number, it is the sentence that follows it: "A check outside those six is advisory and rides through." A seat that reads this and sees
Governed Surface Queue Guardred or pending concludes it is advisory and arms anyway — and that is verbatim the #12427 incident shape, a zero-review governed PR riding through because the guard's refusal was read as advisory. The paragraph is operative prose a review seat acts on, not description.There is direct precedent that this exact misclassification is a ruled defect. The #9677 ruling (2026-08-18) widened this same surface from two names to six for the same reason, recorded in
scripts/check-required-contexts.mjs:⇒ The set has since grown by one and the sentence has not followed.
AGENTS.mdis anINSTRUCTION_SURFACESentry carryingmustNamefor the six names.mustNamedoes not require exclusivity, so:REQUIRED_CONTEXTSrow (what [finding]Governed Surface Queue Guardis required onmainbut pinned by no REQUIRED_CONTEXTS row — renaming its job detaches the governed-surface gate silently #15233 lands) does not red this surface;⇒ ⛔ "Every gate is green" is not a reading that this paragraph is right. #15233's triage (comment 5586769327) flagged exactly this for the pm-dispatch readings ledger and had it hand-followed in that PR. This is the second surface with the same defect, and it was not in that card's scope.
Suggested remedy (not a ruling — the lane's to make)
Either hand-follow the sentence six → seven the way #15233 hand-followed the readings ledger, or decide that
mustNamegrowing is what should have reddened here and make exclusivity checkable, so the next enrolment cannot leave this sentence behind a third time.Dedup
Scanned all 137 open issues carrying
toolingordomain:devx(73 + 125, deduped;domain:devxpaged to exhaustion — page 3 empty) foragents.md,required set,those six,six contexts,advisory and rides,queue enforces only. Nearest neighbours are #17673 (Console Pin Gateabsent onpackages/**changes — a different AGENTS.md rule and a different instrument) and #16696 (docs-drift row precision). No open twin. Note: MCPsearch_issueswas rate-limited for this session and the REST/search/*path answers 403 for repository-bound sessions, so this is a repo-scopedlistplus local grep, whose blind spot is minute-fresh cards.