This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Repository navigation
Commit 3bfcf44
chore(claude): deny the enqueue class and update_pull_request in .claude/settings.json (objectui#9586) (#10214)
Fixes #9586
⛔ **GOVERNED — this pull request is a DRAFT and stays one.** The changed
instruction-tree path is governed surface in this repository. Asked of
the guard itself, in this worktree:
```
$ node scripts/check-governed-queue-guard.mjs --test .claude/settings.json .changeset/issue-9586-enqueue-class-deny-mirror.md
⛔ GOVERNED — 1 of 2 path(s) are on a governed surface:
.claude/** x1 — the agent instruction tree (skills, hooks, settings)
- .claude/settings.json
One governed path governs the WHOLE pull request — proportion is not a question.
⛔ Do not flip it ready, enqueue it, or arm auto-merge. Park it as a DRAFT and leave the merge
to the maintainer; a human merge IS the review record for a governed surface.
The merge-queue run of "Governed Surface Queue Guard" refuses this diff unless an APPROVED review by an
authorized approver (GOVERNED_APPROVERS: os-zhuang, hotlong) is on the pull request — on
whichever commit it was left (maintainer ruling 2026-09-04).
(exit 3)
```
⇒ ⛔ never flipped ready, ⛔ never enqueued, ⛔ never armed with
auto-merge, ⛔ never approved by a seat under any account. Under ruling C
the claiming seat lands it only once an authorized APPROVED review
exists.
## 维护者速读(草稿)
**改了什么**
一个文件、三行:`.claude/settings.json` 的 `permissions.deny` 从 14 条加到 17
条,新增点名三个 MCP GitHub 工具 ——
`update_pull_request`、`enable_pr_auto_merge`、`disable_pr_auto_merge`。改完之后,本仓的
deny 数组与 objectstack 的**逐元素相同、顺序也相同**。`allow` 与 `hooks` 两块字节未动。另附一个空
frontmatter 的 changeset(声明「不发版」,本仓惯例)。
**为什么改**
这是 objectstack 已裁决条款的跨仓镜像,不是本仓的新主张。objectstack#18282 裁决 A(批次 #135
追认)把「声明即强制」扩到**入队类**:席位在两个板上真正用的入队通路只有 REST 的 `PUT
.../pulls/{n}/ccr/auto_merge`(它就在同一个文件的 `allow` 里),所以把 MCP
的那两个入队工具关掉,**不损失任何能力**,只是把一条没人走的旁路封死。
第三条 `update_pull_request` 是本仓自己的事故教训:objectui#6183 里,一次只传 `reviewers` 的
MCP 调用**顺带**把 PR 的 `draft: false` 设了,于是一个受管草稿进了合并队列、零人工批准就落了地。本仓当时只镜像了
14 条内容写入类,这一条(objectstack 在 PR #18276 落地)和入队那两条(PR #18317)都没跟上 ——
本次一并补齐。
**风险与代价(含回滚)**
- 代价:任何还想用 MCP 去翻 ready、挂/摘 auto-merge 的流程会被运行时拒绝。这是有意的。`gh pr
ready`、`gh pr merge --auto` 与 REST 的 ccr 路径都不受影响。
- 1 parent 8d7915e commit 3bfcf44
2 files changed
Lines changed: 25 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
| |||
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
31 | | - | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
32 | 35 | | |
33 | 36 | | |
34 | 37 | | |
| |||
0 commit comments