Skip to content

docs(pm-dispatch): domain 车道 —— 按修复落点划域,支持同仓多 PM 并发 (#4819) - #4824

Merged
os-zhuang merged 1 commit into
mainfrom
claude/issue-4819-pm-dispatch-domain-lanes
Aug 3, 2026
Merged

docs(pm-dispatch): domain 车道 —— 按修复落点划域,支持同仓多 PM 并发 (#4819)#4824
os-zhuang merged 1 commit into
mainfrom
claude/issue-4819-pm-dispatch-domain-lanes

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

Fixes #4819

维护者已拍板采用 domain 车道方案支持同仓多 PM 并发。本 PR 只做一件事:把协议文本落到 .claude/skills/pm-dispatch/SKILL.md,不改任何代码。

三处改动

1. 新增「Domain lanes(同仓多 PM 并发)」一节,紧接在「Multi-repo coordination」之后、「The round loop」之前:

  • 前提:每个 PM = 独立会话 + 独立容器,加 PM 即加算力;冲突由 domain→包映射防止,而不是靠两个 PM 碰巧挑到不同的活。
  • 锚定规则(原文照写):每个包恰好属于一个 domain;issue 的 domain:* 标签 = 修复落点所在包的 domain,分诊时读代码后打,绝不从标题词汇猜。
  • hook 的 condition 求不出值时:全局 fail loud —— 抛错并中断该次操作(方案 B 已拍板;Blocked-by #4770) #4775 反例:hook condition 读起来是 automation,落点却在 packages/objectql/src/hook-wrappers.ts,故归 domain:engine —— 按题目猜会把它路由给另一个 PM,而那个包里已经有人在干活,正是车道要避免的相撞。补一句可操作的判据:说不出落在哪个文件,就是还没分诊,也就不可打标。
  • 六域分类表:照抄 issue,未增删。examples/** 随其锻炼的子系统归域;表里没有的包在首次分诊时归类并走 PR 更新此表(分类演化是刻意的,不随认领漂移)。
  • 标签纪律:domain:* 在 backlog sweep(round loop 第 0 步)打;打标 ≠ 认领,任何 PM 可为任何 issue 打标;未打标的 issue 任何人不得认领。
  • 认领范围:每个 PM 会话在 [PM] 分片分工登记表 — 谁在管哪个仓库的队列 #4604 登记自己的 domain 集合,只认领集合内的 issue。
  • 跨域单:优先按规则 2 的 contract-first 拆分;不拆则单个 PM 认领并在认领注释里声明全部文件面。
  • 借单:空闲 PM 可跨域借单,三条同时成立才行(该域 PM 未认领 / 声明文件面 / 全局在飞检查通过);借单是一次性例外,不改登记表。
  • 全局在飞检查:选批时列出全仓 pm:dispatched,读其最新认领注释的文件面声明,要求与本批候选不相交 —— 这就是把第 3 步的批内独立性检查提升到全仓。
  • 合并队列:仍是全体共享的串行资源,flaky 税(flaky: spec/src/cloud/tenant.test.ts 的 #4739 导出面用例贴着 5s 超时 —— 今晚已两次把不相干的 PR 踢出合并队列 #4796)随 PM 数线性放大,队列健康是全体的共同责任。

2. 认领注释模板(round loop 第 4 步)加两行:域:文件面:(越界即停)。跨域单与借单必填,同域普通单建议填 —— 它是别的 PM 做全局在飞检查时唯一能读到的输入。

3. 修订「Multi-repo coordination」规则 4:阶梯第 3 级由「同队列多 PM:一律禁止」改为「仅在 domain 车道协议生效时允许」(独立会话独立容器 + 登记 domain 集合 + 标签纪律 + 全局在飞检查);协议不生效时禁令原样成立。repo 分片阶梯保留,domain 车道作为第三级。

验证

  • 章节结构未破坏:改动前后 grep '^#\{1,4\} ' 的标题列表逐行 diff,唯一差异是新增的 ## Domain lanes(同仓多 PM 并发) 一行,既有标题的文字与层级一字未改(该文件被多个在跑会话引用,这是硬要求)。
  • 分类表逐字比对:与 issue 正文的表格做 diff,完全一致(6 个域,未增删)。
  • Markdown 结构自检:代码围栏成对、表格列数一致(唯一「不齐」的是既有的 Arguments 表,其中 mode:subagent \| mode:cloud 用了转义竖线,非本次改动)、frontmatter 完整、无行尾空白、认领模板 6 行齐全。
  • 无代码改动:pnpm lint(eslint)不覆盖 markdown,.claude/skills/ 也不在 check:skill-docs / check:role-word 的扫描根内(二者分别只读 skills/content/docs + skills),因此没有需要重新生成的产物。

changeset 用空 frontmatter(先例:PR #4803 对 scripts-only 改动的做法)—— 只改内部 agent 协议文本,不发布任何包。

🤖 Generated with Claude Code

https://claude.ai/code/session_015Br2xsJsczFsTR9bvbh2Ny


Generated by Claude Code

新增「Domain lanes(同仓多 PM 并发)」一节(置于 Multi-repo coordination 之后):
前提(每 PM 独立会话+独立容器)、锚定规则(每个包恰好属一个 domain;`domain:*`
取修复落点所在包的域,分诊时读代码后打,不从标题词汇猜)、#4775 反例、六域分类表、
标签纪律(打标 ≠ 认领;未打标不得认领)、认领范围(#4604 登记 domain 集合)、
跨域单与借单规则、选批时的全局在飞检查,以及合并队列仍是共享串行资源的提醒(#4796)。

认领注释模板(round loop 第 4 步)加「域」「文件面」两行,跨域与借单必填。
Multi-repo coordination 规则 4 由「同队列多 PM 一律禁止」改为「仅在 domain 车道
协议生效时允许」,repo 分片阶梯保留,domain 车道作为第三级。

仅改 .claude/skills/pm-dispatch/SKILL.md,现有章节标题与编号未动。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015Br2xsJsczFsTR9bvbh2Ny
@vercel

vercel Bot commented Aug 3, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
objectstack Ignored Ignored Aug 3, 2026 8:45am

Request Review

@github-actions github-actions Bot added documentation Improvements or additions to documentation tooling size/m and removed documentation Improvements or additions to documentation tooling labels Aug 3, 2026
@os-zhuang
os-zhuang marked this pull request as ready for review August 3, 2026 08:51
@os-zhuang
os-zhuang added this pull request to the merge queue Aug 3, 2026
Merged via the queue into main with commit 9c040f1 Aug 3, 2026
18 checks passed
@os-zhuang
os-zhuang deleted the claude/issue-4819-pm-dispatch-domain-lanes branch August 3, 2026 09:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

pm-dispatch 协议升级:domain 车道 —— 按「修复落点的包」划域认领,支持同仓多 PM 并发(维护者已拍板)

2 participants