维护者已批准(2026-08-04)。改动仅限 .claude/ 下两个文件,不碰产品代码。
目标文件
.claude/skills/pm-dispatch/SKILL.md(PM 纪律)
.claude/agents/os-dev.md(开发纪律)
PM 侧新增(pm-dispatch)
A. 认领协议——三个 worked example(素材在各 issue 评论链,agent 自取)
rest: filterAppForUser treats app hidden flag as builder-only access gate — built-in account app returns 404 for all normal users #4829 (选单前必须读完全部评论) :PM 只读正文就建议删"隐藏访问门"并派发;评论区里有维护者 2026-08-03 的"暂缓处理"记录,且该门是 Accepted 的 ADR-0045 §3(4 条 pin 测试)。规则:评论区是裁决的落地处,跳过它等于跳过裁决。连带:限流时不允许"先 assign、评论稍后补"——认领 = assign + 含 session ID 与分支的评论,成对原子落地。
Validate Package Dependencies 再次全线红:fast-uri / hono / undici 新 OSV 公告 —— 队列级阻塞,与 #4945 同型 #5039 (立单前必须查重) :未搜索即为 OSV 公告立单,Validate Package Dependencies is red on main — 8 FIXABLE OSV advisories (undici / hono / fast-uri), so every PR inherits a red required-ish check #5032 已存在且分析更全。规则:立单前按关键词/CVE 号/包名/报错串各搜一遍。
Validate Package Dependencies is red on main — 8 FIXABLE OSV advisories (undici / hono / fast-uri), so every PR inherits a red required-ish check #5032 (assign 后、动手前重读评论区) :认领评论晚落 20 秒撞车。所有 agent 共享一个 GitHub 身份,assignee 字段分不出"谁的",判据只能是评论里 session ID 的先后。配套让路规程:后到者让路 + 留完整交接诊断。
B. 标签纪律
pm:on-hold 语义表:needs-user-decision=决定待做(不派发,可催问);pm:on-hold=决定已做、结论暂缓(不派发,不催问,等重启条件);pm:queue=可派。
标签+评论成对落:挂 pm:on-hold 必须同时留三要素评论(日期/理由/重启条件)。
pm:blocked + 正文 Blocked-by: #N;阻塞单关闭时扫描解锁。
标签消费者原则:标签存在当且仅当有查询/门禁读它。
状态变更不过夜:不在"标签挂了评论没落"的混合状态下收工或限流挂起。
C. 派单措辞
Issue 正文是线索不是规格:派发词必须明示"先验证前提";premise_still_valid:false 且不出 PR 是合法产出(实证:#4832 /#4250 /#5047 /#4930 等 6+ 例)。
Dev 侧新增(os-dev)
验收
两文件修订落地,worked example 引用真实 issue 号;
不碰 .claude/ 之外任何文件;不需要 changeset(.claude/ 非发布包,若 CI 要求空 changeset 按仓库惯例处理);
PR 正文列出每条纪律对应的事故实证。
维护者已批准(2026-08-04)。改动仅限
.claude/下两个文件,不碰产品代码。目标文件
.claude/skills/pm-dispatch/SKILL.md(PM 纪律).claude/agents/os-dev.md(开发纪律)PM 侧新增(pm-dispatch)
A. 认领协议——三个 worked example(素材在各 issue 评论链,agent 自取)
Validate Package Dependenciesis red onmain— 8 FIXABLE OSV advisories (undici / hono / fast-uri), so every PR inherits a red required-ish check #5032 已存在且分析更全。规则:立单前按关键词/CVE 号/包名/报错串各搜一遍。Validate Package Dependenciesis red onmain— 8 FIXABLE OSV advisories (undici / hono / fast-uri), so every PR inherits a red required-ish check #5032(assign 后、动手前重读评论区):认领评论晚落 20 秒撞车。所有 agent 共享一个 GitHub 身份,assignee 字段分不出"谁的",判据只能是评论里 session ID 的先后。配套让路规程:后到者让路 + 留完整交接诊断。B. 标签纪律
pm:on-hold语义表:needs-user-decision=决定待做(不派发,可催问);pm:on-hold=决定已做、结论暂缓(不派发,不催问,等重启条件);pm:queue=可派。pm:on-hold必须同时留三要素评论(日期/理由/重启条件)。pm:blocked+ 正文Blocked-by: #N;阻塞单关闭时扫描解锁。C. 派单措辞
Issue 正文是线索不是规格:派发词必须明示"先验证前提";
premise_still_valid:false且不出 PR 是合法产出(实证:#4832/#4250/#5047/#4930 等 6+ 例)。Dev 侧新增(os-dev)
unrecognized_keys,守"值判决"用完整 safeParse,判据跟着规则性质走。obj.validations ?? obj.validationRules别名读法(#5017 全包 grep 的第八处,第三个文件) #5096 的 :295)。??别名读法 (#5017) #5046 返工:cli 包 parity fixture 用了被拒别名)。--workspace-concurrency=2放--filter前;新 worktree 先pnpm --filter '{pkg}^...' build防假红;overrides 只认pnpm-workspace.yaml;OSV override 上界不用修复版排他写法。<+字母(sanitizer 会吃)。验收
.claude/之外任何文件;不需要 changeset(.claude/非发布包,若 CI 要求空 changeset 按仓库惯例处理);