Repository navigation
docs(pm-dispatch): the Writes: line names the relay as the only GitHub write path and bans GitHub MCP writes by name; the card thread's opening message carries it verbatim; contract review notes a PR not authored by the fleet bot - #25474
Conversation
…b write path and bans GitHub MCP writes by name; the card thread's opening message carries it verbatim; contract review notes a PR not authored by the fleet bot; coordinator.md agrees with the unconditional takeover Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01REirBR5H4pfZ96C61mK6Uj
Contract reviewServed-tier: Record written 2026-10-23T17:00Z by an isolated reviewer of the ① Derived judgmentsSurface. 1. Wanted 1 — 2. The payment — 3. Wanted 2 — 4. Wanted 3 — 5. Scope addition — 6. Acceptance reads on the head. 7. Merge. 8. Gates — the head's check-runs are the record. 35 check-runs on ② Semver level
③ Boundary flags
Independence: the diff was produced by the card thread on branch Implemented-by: VERDICT: PASS |
…ss check Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01REirBR5H4pfZ96C61mK6Uj
Contract reviewServed-tier: Delta record written 2026-10-23T17:08Z by an isolated reviewer of the ① Derived judgments1. The delta is exactly the ③-1 spelling. 2. Budgets unchanged. 3. Merge. 4. PR body against the tree (closes the prior ③-3). (a) 「 5. Gates — the head's check-runs are the record. 42 check-runs on ② Semver levelUnchanged from the prior record: ③ Boundary flags
Independence: the diff was produced by the card thread on branch Implemented-by: VERDICT: PASS |
席位核对ACCEPT · Landing authority: the maintainer's standing Tier S word in this seat's thread of the Claude Code project "Objectstack" (
Generated by Claude Code |
Requested by Elon · project thread
Fixes #25457
Clause-②: no
Metadata-protocol: none
维护者速读(草稿)
pr_create开,禁用 MCP』」写进 pm-dispatch 四个细则文件。① 派发令的Writes:行现在点名:PR 只经中继pr_create,评论/标签/正文只经中继写工具;⛔ GitHub MCP 写工具逐个点名(create_pull_request、update_pull_request、issue_write、add_issue_comment等);多仓项目线程不加载仓库settings.json的 deny,这一行就是唯一防线。② 卡线程开场消息里的派发令必须逐字带这条Writes:行。③ 契约复核记录多一笔:PR 作者不是objectstack-fleet[bot]时,③ 注点名该登录名(脱中继写),席位落地前先读到。④ 顺带把coordinator.md车道归属那两行改成和 docs(pm-dispatch): the project layer — one project form, 「pm-dispatch <席位…>」 as the summon, seats read from the seat posts' 🟢 line, takeover that never waits for a walled account, mailbox PRs, a generated roster board #25427 写的无条件接管一致:座位贴 🟢 写着别的账号就是车道已有主,⛔ 不坐别席,但维护者改写项目指令行即按project-forms.md接管(含在飞卡)。create_pull_request开出,作者变成个人登录名而不是车队 bot;原因是以多个检出为根的项目线程不加载objectstack/.claude/settings.json,仓库里的 MCP 写禁令与 PreToolUse 守卫在那里失效,技能文本是唯一防线。原Writes:行只说「只走 REST 代理」,没点名pr_create,也没按名禁 MCP 写工具。execution-duties.md188/188(+3 −2,两行合一行付账)、contract-review.md54→55/60(+1)、dispatch-runbook.md与coordinator.md就地改行、行数不变;无上限抬高;一次 revert 可回。要您知道的一处:coordinator.mdL12–13 原文「另一项目在飞卡由其席跟完,其收班简报在即可坐」与 docs(pm-dispatch): the project layer — one project form, 「pm-dispatch <席位…>」 as the summon, seats read from the seat posts' 🟢 line, takeover that never waits for a walled account, mailbox PRs, a generated roster board #25427 的「接管不等撞墙账号」相抵触,本 PR 按席位复核记录 6368204690 ③-1 的建议改写:默认仍由原席跟完在飞卡,只有您改写指令行时才无条件接管。What changed
Four files under
.claude/skills/pm-dispatch/references/**, rule text only, every edited line at or under 120 bytes, no ceiling row moved.execution-duties.md派发 (187 → 188, ceiling 188)Writes:行:只走 REST 代理、写预算(端点清单)、mcp_calls计数,dev 两数都报」Writes:line names the relay'spr_createas the only PR path and the relay write tools as the only path for comments, labels and body edits, and still asks for both counts; a ⛔ line names the GitHub MCP write tools (create_pull_request,update_pull_request,issue_write,add_issue_comment, …); a third line says a multi-repo project thread does not load the repo'ssettings.jsondeny, so theWrites:line is the only guard, and defines the two counts (write budget,mcp_calls). Paid in the same file: the two 派发词 lines at L121–L122 merged into one (116 bytes) keeping increments only, ⛔ no whole-body paste, the dev reading the full card and every comment, the dev's own completeness check, and the runbook pointerdispatch-runbook.md〈卡线程〉 (241, net 0)Writes:行逐字在内,⛔ 不落共享目录;卡上留指针」 (in place, 119 bytes)contract-review.md复核归属与资格 (54 → 55 on the merged head, ceiling 60)user.loginis notobjectstack-fleet[bot]gets a ③ note naming that login (an off-relay write), read by the seat before landing. Placed incontract-review.mdrather thanreview-checklist.md(77/77, no headroom)coordinator.md一、车道归属 (49 lines, net 0; the file carries no CEILINGS row)project-forms.md接管」 (both in place; the seat's review record 6368204690 ③-1 on #25427 asked for this alignment, and the claim on the card names it)Acceptance reads on this head:
git grep -n 'create_pull_request' -- .claude/skills/pm-dispatch→ one hit,execution-duties.mdL130, the ⛔ line.git grep -n 'os-bill\|hotlong\|os-elon-musk' -- .claude/skills/pm-dispatch/references/→ no hit.Line budget
references/execution-duties.mdreferences/dispatch-runbook.mdreferences/contract-review.mdreferences/coordinator.mdSKILL.mduntouched (318/318). Widest edited line 119 bytes (coordinator.mdL12,dispatch-runbook.mdL140).scripts/pm/check-skill-line-ratchet.mjsuntouched: no file shrinks and none passes its ceiling.Gates
Head
684b081c= content commit5ea4c1c+ merges oforigin/mainafter #25427 (c246fb07) and #25422 (a7da5b92) + the ③-1 line (684b081c). The head's check-runs are the record: ona7da5b92all 35 check-runs completed, 25successand 10skipped, none failed (Lint & Repo Gates,TypeScript Type Check,Governed Surface Queue Guardallsuccess); the contract review record on that head is comment 6370282626 (PASS). Locally on684b081c, each exit code captured before any pipe:pnpm check:pm-skill-ratchet✓ (execution-duties.md188/188,dispatch-runbook.md241/241,contract-review.md55/60; no line over 120 bytes),pnpm check:pm-skill-id-lint✓,pnpm check:skill-frame-sync✓,pnpm check:skill-frame-freshness✓,pnpm check:pm-governed-prose✓,node scripts/check-commit-card-trailers.mjs --range origin/main..HEAD✓. On the content commit,dispatch-gates.mjs --commandsderived 17 commands, 17 run, 17 × exit 0 afterpnpm install --frozen-lockfileand a build of@objectstack/formula+@objectstack/lint, reconciled with--ran. No published package moves (.claude/**only), soskip-changeset.Ordering and open PRs
dispatch-runbook.md〈巡查常设项〉/〈分诊两级盘点〉 (L39–L50, L64–L71) andcontract-review.md独立性对/落地前检 (L35–L41). This PR's hunks aredispatch-runbook.mdL140 andcontract-review.mdL29, outside those;mainis merged in here once docs(pm-dispatch): Tier S landed from a project needs a review of record by another account; the 分诊席 shrinks to bare cards; decision cards stay in their repo and the 总监席 scans every repo #25422 lands, before the seat's review.project-forms.mdis whatcoordinator.mdL13 now points to, andmainis merged in once it lands too.CONTRACT_REVIEW_TIER(dispatch-gates.mjs --tieron.claude/skills/pm-dispatch/**: "MANDATORY", as the claim records; governed rule text undercontract-review.md档随面定).Acceptance notes
os-dev.md〈干净收尾〉 forbids HTML comments in GitHub text. Reported as a deviation, not hidden.execution-duties.mdL121's merge keeps every clause of the two old lines (the completeness check was restored at the reviewer's ③-1 spelling in684b081c).Fixesline only.pr_create(the rule this PR writes), so the author isobjectstack-fleet[bot]; every later write to this PR goes through the relay too..claude/**(Tier S): draft, awaiting the seat'sCONTRACT_REVIEW_TIERreview after themainmerge; landing by the seat under the maintainer's 14:14Z standing word in the seat thread; ⛔ not to be flipped ready, queued or armed by this thread.🤖 Generated with Claude Code
https://claude.ai/code/session_01REirBR5H4pfZ96C61mK6Uj