Skip to content

Commit 3fe5f2a

Browse files
docs(pm-dispatch): runbook patrol names the review claim by its key and reads the owed list from check-owed-reviews (#31034)
<!-- claude-projects-attribution: {"github_login":"huangyiirene"} --> _Requested by **Irene** · [project thread](https://claude.ai/code/project/chan_01TJXtQ1tVD26ecLDZxFS67x?thread=cmsg_01TJXtQ1tVD26ecLDZxFS67xRaRtG7juPKBiHi7ami7kzB)_ Fixes #28763 Clause-②: no Metadata-protocol: none `dispatch-gates --tier` reads no path-derived model mandate for this surface ("no path-derived mandate: the surface hits none of the 4 declared glob(s)"). Any contract-review tier owed is waived by the maintainer's standing order in this project (2026-11-03); the dispatching seat runs the contract review. ## 维护者速读 - 改了什么:`pm-dispatch` 巡查常设项两行(dispatch-runbook.md L44–45):巡查改跑 `node scripts/pm/check-owed-reviews.mjs` 取 TAKE 行,认领行按键名 `Contract-review-claim:` 并指向 `contract-review.md`。 - 为什么改:旧行让复核者留 `Claim:` 评论,`check-owed-reviews.mjs` 读作 missing,「不双做」只在散文里成立;旧巡查只搜等复核标记,漏掉无标记的欠审、交接、hold 与失效认领。 - 风险与回滚:只改内部 agent 规程文字(`.claude/**`,不发包,无 changeset);回滚即 revert。 - 行账:文件净增行 0(245 行不变);两行 108 / 119 → 113 / 119 字节,均在 120 字节上限内。 - 先看:`.claude/skills/pm-dispatch/references/dispatch-runbook.md` L44–45 对照 `contract-review.md` L25–29。 - 需要你做的:无,席位落地。 ## What changes `.claude/skills/pm-dispatch/references/dispatch-runbook.md`, 〈巡查常设项〉, two lines replaced in place: - **L44 (SF-2):** the patrol ran `is:pr is:open label:needs:contract-review` and now runs `node scripts/pm/check-owed-reviews.mjs` (the list `contract-review.md` L25 names) and takes its `TAKE` rows, the status the script gives an owed head with nobody on it and a trigger holding (`WAIT` rows stay with the lane, `HELD` and `DONE` need nothing). The account-keyed self-exclusion (剔除本账户署名的 PR) stays, as record 6561911910 ④ judged. - **L45 (SF-1):** the reviewer left a `Claim:` comment (session, account) and now posts a `Contract-review-claim:` line. Its form, lapse and double-claim rule are pointed to `contract-review.md` (L27–29), with no second spelling of the form in the runbook. "已有他席认领即跳过(同账户亦然)" becomes "有活认领 ⛔ 不双做": a live claim blocks whoever holds it, the same account included. Measured on `main` at `41dc3024`: - `contract-review.md` L27: `Contract-review-claim: <session> · head <full sha> · <UTC>`; L28: the claim lapses when the head moves or after 2 h with no record, and on a double claim the first poster holds. - `scripts/pm/check-owed-reviews.mjs --help`: `[--repo OWNER/NAME] [--board OWNER/NAME] [--now ISO] [--json]`, report-only, default repo `objectstack-ai/objectstack`. Its `claim` column reads `Contract-review-claim:` lines only (`live` / `lapsed` / `none`). The runbook spells the bare invocation, no flags (the file is mode 100644, so it is run with `node`). ## Why The runbook disagreed with `contract-review.md` and with the script that every seat runs for the owed list, so a reviewer following the runbook posted a claim the list could not see. ## Verification <details><summary>Local gates on cdf61f3: 17 derived, 17 run with exit 0, 0 NOT MEASURED (`dispatch-gates --ran`)</summary> - `node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack` derived 17 commands for the 1 changed file. All ran after `pnpm install --frozen-lockfile --ignore-scripts` and `turbo run build` for `@objectstack/formula`, `@objectstack/lint`, `@objectstack/objectql` (exit 0), each under a 900 s timeout with `NODE_OPTIONS=--max-old-space-size=8192` and its exit code captured before any pipe. - All 17 exited 0, among them `check:pm-skill-ratchet` (line ratchet), `check:pm-skill-id-lint`, `check:skill-frame-sync`, `check:doc-authoring`, `check:pm-governed-merges` and `check-comment-mask-corpus.mjs`. - Also run, from the roster block: `pnpm check:pm-settings-deny-roster` (roster under `.claude`) and `pnpm check:pm-governed-prose`, both exit 0. - `--ran` printed: `17 derived famil(ies) accounted for — 17 run, 0 NOT-MEASURED (a DERIVED zero — all 17 recorded an exit code and none of them is 3)`. - `node scripts/check-commit-card-trailers.mjs --range origin/main..HEAD`: exit 0 before the push. </details> ## Human Minimum - [x] 1. Schemas start as Zod; `packages/spec` holds no runtime logic. (No schema touched.) - [x] 2. Every name I added uses the casing for its kind. (No names added.) - [x] 3. No formatter ran. (Markdown only: no lintable source touched, so `pnpm lint` was not run.) - [x] 4. One issue, one branch off an up-to-date `main`, one pull request. - [x] 5. Nothing publishes (`.claude/**` only): `skip-changeset`; both declaration lines are filled in above. - [x] 6. `packages/spec` not touched; nothing to regenerate. - [x] 7. No hand edits to `content/docs/references/`, `packages/*/CHANGELOG.md` or `content/docs/releases/`. - [x] 8. Title, body and comments are in English. (The 维护者速读 section is Chinese, per the lane template.) - [x] The *Before Submitting* list in CONTRIBUTING.md is done. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01J8VVAmitqSAFN9FfDRLzzh <!-- signed: domain:skills#3 · huangyiirene · session_01J8VVAj7CvjkGXvgXzd6RZ7 --> --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent 5bca14f commit 3fe5f2a

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

‎.claude/skills/pm-dispatch/references/dispatch-runbook.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@
4141
- 座位贴活性归总监席摘要:扫 `label:pm:seat` 挂 `🟢 <github-login>` 的贴,Routine 席读调度器。
4242
- 判据只认在任者自有产出(评论、认领、改正文)及其作者与时间戳,⛔ 收到的通知不算。
4343
- >24h 无自有产出 ⇒ 当场降级:改 `⏳ vacant` + 摘 assignee 同笔 + 证据评论(时间戳与链接)。
44-
- 跨账户复审:每席巡查跑 `is:pr is:open label:needs:contract-review`,剔除本账户署名的 PR。
45-
- 复核前在 PR 留 `Claim:` 形评论(会话、账户);已有他席认领即跳过(同账户亦然),⛔ 不双做。
44+
- 跨账户复审:每席巡查跑 `node scripts/pm/check-owed-reviews.mjs`,TAKE 行剔除本账户署名的 PR。
45+
- 复核前落 `Contract-review-claim:` 行,形、失效、双认照 `contract-review.md`;有活认领 ⛔ 不双做。
4646
- 复核照 `contract-review.md`;PASS 同笔摘标记、FAIL 不摘;总监席摘要列等候逾 24h 的 PR。
4747
- 车道巡查同跑:hold/closed 解锁重验回队;本仓无卡 fork PR 按 `external-contributions.md` 立卡。
4848

0 commit comments

Comments
 (0)