Found while implementing objectui#9018 (PR objectui#9212). Filed unassigned and NOT folded into that PR: the paragraph lives in AGENTS.md, which is governed surface (AGENTS.md · CLAUDE.md · .claude/** · skills/** · docs/adr/**), and objectui#9018's dispatch fenced the governed surface out of scope explicitly. Generated by an agent seat; this paragraph is the attribution, deliberately written as prose rather than as a footer block.
What
AGENTS.md § 受管面 carries one long paragraph describing the mechanical backstop. Its account of what the queue leg refuses on is, verbatim:
merge_group 腿才是会拒绝的那条 —— 它要求 GOVERNED_APPROVERS(os-zhuang / hotlong)里某个账号的一条 latest-decisive APPROVED review,留在哪个 commit 上都算;DISMISSED 与被顶掉的批准(同一 reviewer 后续给了 CHANGES_REQUESTED)不算,该集合之外账号的 APPROVED 不算,review 列表为空或读不到则 fail closed
That is stated as the predicate of the refusing leg, with no "among others". After objectui#9018 / PR objectui#9212 it is one of two independent predicates on that leg:
| leg |
predicate |
exits |
| governed surface |
an authorized latest-decisive APPROVED review record |
3 · 4 · 5 |
| contract-review carrier (new) |
no queued pull request carries needs:contract-review |
6 · 7 |
⇒ a merge group whose diff touches nothing governed at all can now be refused by this check. The paragraph as written says the opposite by omission, and it is read by every dispatch.
Why the existing caveat does not already cover it
The same paragraph carries:
⛔ 别再把本段当成兜底工具的完整清单 —— 覆盖面以脚本自己的 GOVERNED_SURFACES 为准(它随树变化,本段不会)
That caveat delegates the surface list to GOVERNED_SURFACES. It does not delegate the predicate list, and the new leg reads no surface at all — it reads a label on the pull request. A reader following that caveat to GOVERNED_SURFACES finds nothing about the carrier.
Measured
On origin/main at ad80b06ff2c9843eaa10c32ad86011877f327c63 plus PR objectui#9212's head:
git grep -c "needs:contract-review" -- AGENTS.md
-> 0 (code-only count: 0; raw count: 0)
git grep -n "EXIT_REFUSED_CARRIER" -- scripts/check-governed-queue-guard.mjs
-> scripts/check-governed-queue-guard.mjs:258:export const EXIT_REFUSED_CARRIER = 6;
scripts/check-governed-queue-guard.mjs:259:export const EXIT_REFUSED_CARRIER_UNREADABLE = 7;
content/docs/guide/ci-cd-pipeline.md — which is not governed — was updated in PR objectui#9212 for exactly this reason, including the now-false sentence it carried verbatim ("an API outage cannot block a diff that touches no governed path", which the carrier leg took away on the merge_group leg). AGENTS.md was left alone because it may not be touched by that PR.
Not proposing the wording
What the paragraph should say is a maintainer's call, not a seat's, and the file is governed precisely so that it is. This issue records only that the paragraph and the script now disagree, and that the disagreement points in the permissive direction: a reader of AGENTS.md would conclude an ordinary, non-governed pull request can never be refused by this check, which is no longer true.
⛔ Not blocking anything: the guard is still not a required context on main (objectui#6596's Maintainer-action: line), so both predicates report rather than block.
Refs: objectui#9018 · PR objectui#9212 · objectui#6596 · objectstack-ai/objectstack#17040
Found while implementing objectui#9018 (PR objectui#9212). Filed unassigned and NOT folded into that PR: the paragraph lives in
AGENTS.md, which is governed surface (AGENTS.md·CLAUDE.md·.claude/**·skills/**·docs/adr/**), and objectui#9018's dispatch fenced the governed surface out of scope explicitly. Generated by an agent seat; this paragraph is the attribution, deliberately written as prose rather than as a footer block.What
AGENTS.md§ 受管面 carries one long paragraph describing the mechanical backstop. Its account of what the queue leg refuses on is, verbatim:That is stated as the predicate of the refusing leg, with no "among others". After objectui#9018 / PR objectui#9212 it is one of two independent predicates on that leg:
APPROVEDreview recordneeds:contract-review⇒ a merge group whose diff touches nothing governed at all can now be refused by this check. The paragraph as written says the opposite by omission, and it is read by every dispatch.
Why the existing caveat does not already cover it
The same paragraph carries:
That caveat delegates the surface list to
GOVERNED_SURFACES. It does not delegate the predicate list, and the new leg reads no surface at all — it reads a label on the pull request. A reader following that caveat toGOVERNED_SURFACESfinds nothing about the carrier.Measured
On
origin/mainatad80b06ff2c9843eaa10c32ad86011877f327c63plus PR objectui#9212's head:content/docs/guide/ci-cd-pipeline.md— which is not governed — was updated in PR objectui#9212 for exactly this reason, including the now-false sentence it carried verbatim ("an API outage cannot block a diff that touches no governed path", which the carrier leg took away on themerge_groupleg).AGENTS.mdwas left alone because it may not be touched by that PR.Not proposing the wording
What the paragraph should say is a maintainer's call, not a seat's, and the file is governed precisely so that it is. This issue records only that the paragraph and the script now disagree, and that the disagreement points in the permissive direction: a reader of
AGENTS.mdwould conclude an ordinary, non-governed pull request can never be refused by this check, which is no longer true.⛔ Not blocking anything: the guard is still not a required context on
main(objectui#6596'sMaintainer-action:line), so both predicates report rather than block.Refs: objectui#9018 · PR objectui#9212 · objectui#6596 · objectstack-ai/objectstack#17040