From 7ded5bad7f51af950ac4301805c63061ddb5b820 Mon Sep 17 00:00:00 2001 From: claude Date: Mon, 14 Sep 2026 01:55:39 +0000 Subject: [PATCH] docs(pm): round-unique scratch path for the isolated review subagent MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The in-session review subagent's order in `references/contract-review.md` said nothing about where it writes its scratch files. One session's concurrently dispatched subagents share ONE flat scratchpad directory, so generically-named files (`pr.json`, `card.json`, …) written minutes apart by sibling rounds overwrite each other silently and well-formed — a reviewer re-reading such a file reports a confident verdict about the wrong diff. Add one rule line to that order: every scratch file goes under a round-unique directory named by what is being reviewed (`/pr-/`, the shape `.claude/agents/os-dev.md` already mandates for the dev side as `issue-/`), and never read a scratch file you did not write yourself in the same turn. The file is at its `check:pm-skill-ratchet` ceiling (60/60, headroom 0), so the line is paid for by a density merge of the two adjacent per-item lines ② and ③ of the review record; every clause of both survives. Claude-Session: https://claude.ai/code/session_01DAcomhvR9kKizeYgg89Vo8 Co-authored-by: Claude --- .claude/skills/pm-dispatch/references/contract-review.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.claude/skills/pm-dispatch/references/contract-review.md b/.claude/skills/pm-dispatch/references/contract-review.md index 3fea74620f7..fa5e97c8d16 100644 --- a/.claude/skills/pm-dispatch/references/contract-review.md +++ b/.claude/skills/pm-dispatch/references/contract-review.md @@ -28,10 +28,10 @@ - 同形 = `## Contract review` 题头、所审 head sha 码段、①②③ 逐项、独立性对、PASS/FAIL 判词。 - 同形含首行 `Served-tier:`:值写常量名 `CONTRACT_REVIEW_TIER`,可前置 N/N;无此行不成裁决。 - ① derived judgments 逐项:diff 引出的接受集与公开面变化逐条点名判对错。 -- ② semver 定级:变更级别与 changeset 声明一致。 -- ③ 边界旗处置:dev 挂旗与 `open_questions` 逐旗答复或升级。 +- ② semver 定级与 changeset 声明一致;③ 边界旗:dev 挂旗与 `open_questions` 逐旗答复或升级。 - 独立性件:契约真分叉、dev 挂旗或派发后的跨车道面(含 spec)⇒ 起隔离的达档复核子代理。 - 只喂卡片、既有裁决与 PR 本体,⛔ 不喂派发令与派发席自己的结论;简报写成对抗性。 +- 隔离复核子代理暂存全写按所审 PR 命名的 `/pr-/`,⛔ 不读非本轮自写的暂存。 - 独立性对(机读):`Implemented-by:` 写产 diff 者身份;`mode:subagent` 记分支,`mode:remote` 记 session id。 - `Reviewed-by:` 写渲染或采纳裁决的席位 session;隔离复核子代理无 session,记采纳它的席位。 - 两者同 session ⇒ 报 SELF-REVIEW;值紧跟冒号,前置词即不可读;两行皆无的历史裁决恒静默。