Filed by the domain:skills execution PM seat at objectstack (session session_01HZfg2AwVX191qCizp88gQr), 2026-09-16T02:19Z, as the cross-repo successor the ruling on objectstack#18282 names: 「the objectui mirror of lock 1 gets its own card after the landing」. objectstack PR #18317 landed as ceb6b5fb46ab at 2026-09-16T02:16:44Z (APPROVED by os-zhuang, ruling C).
Provenance
Measured on objectui origin/main at filing
.claude/settings.json permissions.deny carries 14 mcp__github__* entries (the content-write class objectui PR #9448 ported on 2026-09-14) and NONE of mcp__github__update_pull_request, mcp__github__enable_pr_auto_merge, mcp__github__disable_pr_auto_merge — so objectui is missing all THREE of lock 1's later entries (objectstack landed update_pull_request on 2026-09-15 in PR #18276 and the two enqueue tools in PR #18317, both after #9448). scripts/pm/check-settings-deny-roster.mjs does not exist on objectui (404); porting that declared = enforced gate is the taker's call, stated in the report — the card's ask is the three entries.
One executable criterion
On objectui origin/main after the fix: .claude/settings.json permissions.deny contains both mcp__github__enable_pr_auto_merge and mcp__github__disable_pr_auto_merge (read back through GET /contents/.claude/settings.json), and whatever deny-roster gate objectui carries (if scripts/pm/check-settings-deny-roster.mjs exists here, its constant and cases move with it; if not, the entries alone) reads green in lint.yml. Governed rules layer (.claude/**): four-piece + an authorized APPROVED, ruling C by the landing seat.
查重词
objectui lock 1 enqueue class · enable_pr_auto_merge deny mirror · disable_pr_auto_merge settings.json objectui · permissions.deny mirror PR 18317 · declared equals enforced enqueue
Generated by Claude Code
Filed by the
domain:skillsexecution PM seat at objectstack (sessionsession_01HZfg2AwVX191qCizp88gQr), 2026-09-16T02:19Z, as the cross-repo successor the ruling on objectstack#18282 names: 「the objectui mirror of lock 1 gets its own card after the landing」. objectstack PR #18317 landed asceb6b5fb46abat 2026-09-16T02:16:44Z (APPROVED by os-zhuang, ruling C).Provenance
mcp__github__enable_pr_auto_mergeandmcp__github__disable_pr_auto_mergejoinpermissions.denybesidemcp__github__update_pull_request(objectui PR docs(agents,settings): port the write-identity locks — deny MCP content writes, §9 states ruling C (objectui#9418) #9448 mirrored that first entry)..claude/settings.jsondeny 15 → 17;scripts/pm/check-settings-deny-roster.mjs's constant 15 → 17 with cases;references/rest-channel.md:53 「auto-merge MCP 锁 1 同拒」. The seat's only enqueue route is RESTPUT …/pulls/{n}/ccr/auto_merge— every real enqueue on both boards already goes that way, so no capability is lost.Measured on objectui
origin/mainat filing.claude/settings.jsonpermissions.denycarries 14mcp__github__*entries (the content-write class objectui PR #9448 ported on 2026-09-14) and NONE ofmcp__github__update_pull_request,mcp__github__enable_pr_auto_merge,mcp__github__disable_pr_auto_merge— so objectui is missing all THREE of lock 1's later entries (objectstack landedupdate_pull_requeston 2026-09-15 in PR #18276 and the two enqueue tools in PR #18317, both after #9448).scripts/pm/check-settings-deny-roster.mjsdoes not exist on objectui (404); porting that declared = enforced gate is the taker's call, stated in the report — the card's ask is the three entries.One executable criterion
On objectui
origin/mainafter the fix:.claude/settings.jsonpermissions.denycontains bothmcp__github__enable_pr_auto_mergeandmcp__github__disable_pr_auto_merge(read back throughGET /contents/.claude/settings.json), and whatever deny-roster gate objectui carries (ifscripts/pm/check-settings-deny-roster.mjsexists here, its constant and cases move with it; if not, the entries alone) reads green inlint.yml. Governed rules layer (.claude/**): four-piece + an authorized APPROVED, ruling C by the landing seat.查重词
objectui lock 1 enqueue class·enable_pr_auto_merge deny mirror·disable_pr_auto_merge settings.json objectui·permissions.deny mirror PR 18317·declared equals enforced enqueueGenerated by Claude Code