Skip to content

Commit aa0304d

Browse files
claude[bot]claude
andauthored
docs(pm-dispatch): the batch #62 skill folds — file-surface batch independence, priority in the selection order, the readings-ledger ceiling exception, the suite-event head re-read, the director carve-out (#16486)
* docs(pm-dispatch): batch independence by file surface, priority in the selection order, the readings-ledger ceiling exception, the suite-event head re-read, the director carve-out Five rules-only folds under unchanged line pins (SKILL.md 811, core-rules.md 150, seat-post-protocol.md 91); every addition is paid by a same-file fold that deletes a superseded, dead or duplicated line. The ratchet map's director-charter comment no longer claims a quotation the charter file stopped carrying. Claude-Session: https://claude.ai/code/session_019RfFHiRCSs3JXLK4cwcfox Co-authored-by: Claude <noreply@anthropic.com> * docs(pm-dispatch): a dispatch brief quotes a card's precise claim verbatim One more rules-only line in the dispatch-brief rules, paid by folding the two brief lines that state one rule (the dev reads the whole card and self-checks its completeness), as the core-rules digest already holds them. SKILL.md stays at its pin. Claude-Session: https://claude.ai/code/session_019RfFHiRCSs3JXLK4cwcfox Co-authored-by: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent 222a528 commit aa0304d

4 files changed

Lines changed: 28 additions & 25 deletions

File tree

.claude/skills/pm-dispatch/SKILL.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
7272
- 定时器默认在轮末挂、延时 ≤55 分钟;维护者明示可改。
7373
- 探针先行:fire 的第一动作是一次最便宜的车道盘点查询,⛔ 在它之前不读任何长文本。
7474
- 队列空 + 无在飞 + 无待复核 + 决策箱无新答复 ⇒ 自退。
75-
- 分诊席跑普通直连会话、默认判断档。
76-
- 代裁与契约复审等达档职责改派显式传 `model` 的契约复审档子代理。
75+
- 分诊席跑普通直连会话、默认判断档;达档职责改派显式传 `model` 的契约复审档子代理。
7776
- 子代理裁决逐份过转录核验采信,细则见 `references/contract-review.md`
7877
- 开轮互斥:fire 开始、首个写动作之前读四个读数,未收班活动任一未满一轮 ⇒ 自退。
7978
- 读数一、二:最近的收班简报,与晚于它的最新开轮标记。
@@ -82,6 +81,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
8281
- 或收班简报后卡分支有推送(逐卡 `git ls-remote`):推即认领,欠一条 `Claim:`
8382
- 读数四:本车道 `state=CLOSED``updated_at` 降序第一张卡的 `Claim:` session ID。
8483
- 评审链与总监席的笔迹是跨席作业不算占席;读数三、四只增加自退、永不清座位。
84+
- 总监席多场并行、无在任者:读数一、二与自退对它不成立;`domain:*` 席互斥照旧。
8585
- 同 session 的 subagent dev 认领不触发自退,甄别靠分支。
8686
- 收班简报是前任不再写的显式声明,是释放标记不是锁:简报即最新事件 ⇒ 立即坐席。
8787
- 滞后标题是进场顺手修的半状态,⛔ 不是阻塞;简报点名的留守尾巴作围栏。
@@ -389,6 +389,8 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
389389
- 代裁人工地板(恒交维护者):功能新增;ADR;协议/公开契约变化;破坏性或难回滚动作。
390390
- 人工地板同含:安全/权限边界;门禁削弱(降阈值、删必查项、抬 ratchet 上限、跳过测试)。
391391
- 人工地板同含:花费/配额/舰队形态/默认模型档位;新增运行时第三方依赖。
392+
- 唯一例外:`platform-readings.md` 增量抬上限到落地行数,免决策卡,记 `ruledRaises` 引常设裁决。
393+
- 条件:席位验收评论逐条核实、去重计数(候选/落地/已有/拒收)、一事一行、不计重排。
392394
- 代裁车道只覆盖代码整理(行为不变的重构)与 bug 修复。
393395
- 机械边界测试:改动扩大接受集或公开面 ⇒ 人工;拉回已声明契约 ⇒ 代裁车道。
394396
- 置信门五条全立才可代裁:① 四棱同向;② 不在人工地板;③ 不推翻既有维护者裁决。
@@ -431,8 +433,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
431433
- 引用读到的现状,⛔ 不引用裁决写作时的描述。
432434
- 工作项面:卡片与分诊评论列的每条工作项逐条对树核验是否仍未完成,⛔ 不对卡核验。
433435
- 每条工作项写进派发令时都是 dev 首先证伪的前提。
434-
- 并行度以 `batch` 封顶,同批按构造文件面不相交;`priority:p0` 插队可超 `batch`
435-
- 批次独立性:一批内任两单不得可能碰同一个包/registry/barrel/spec schema;拿不准就串行。
436+
- 并行度以 `batch` 封顶;同批独立性按文件面不相交判,⛔ 不按包;`priority:p0` 可超 `batch`
436437
- 同文件单跨轮硬串行;延后不是搁置,被延后那一刻就把已知的坑记到该 issue 上。
437438
- 家族派发是范围澄清不是豁免:一个 dev 有意覆盖 N 张同区域已裁卡,可折叠为一次派发。
438439
- 折叠准入五门全过才可折:① 同缺陷形态同修法(⛔ 不是同关键词/同子系统)。
@@ -441,19 +442,19 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
441442
- ⑤ 派发令点名排除清单:长得像家族而不是的成员及理由。
442443
- fold-or-serial 必答:≥2 张排队卡共享热文件时,必须以五门为判据显式答折叠或串行。
443444
- 答题处是串行队条目和/或链首认领;不答而默认串行是漏答。
444-
- 维护者明示豁免同文件串行时,替代纪律四条:① 文件面申报到区域级
445+
- 并行纪律四条(常规,非豁免):① 认领申报文件面到区域级,拿不准就串行
445446
- ② 开 PR 前合一次 main;③ 兄弟卡落地后再合一次;④ 冲突交合并队列仲裁,⛔ 不手动排序。
446-
- 豁免不外溢
447+
- 文件面不相交只保证文本可合并;跨文件语义耦合由队列 CI 逮住,⛔ 不读作不可能冲突
447448
- 阻塞解除后给延后单重新定价:派发前一单时带必答项。
448449
- 必答项:你的改动让 #X 变简单、变难、变得不必要还是无影响。
449450
- 派发后一单前用该回答重读它的选项与成本,⛔ 不沿用立单时那份。
450451
- 跨车道简单阻塞项直接接手:本车道卡被他车道卡挡住,且阻塞项机械、规格清楚、S 级。
451452
- 命中即被挡座位直接接手做掉,⛔ 不持续等待。
452453
- 接手在他车道卡上走完整认领、尊重其热文件串行队、完工留收单注记。
453454
- 带设计判断/语义权衡的仍归属地车道;接手细则见 `references/dispatch-runbook.md`
454-
- 取卡全序:`priority:p0` 插队 > `pm:blocking` > `target:` 板上项 > type `Bug` > 其余;同级按卡龄
455+
- 取卡全序:`priority:p0` > `pm:blocking` > `target:` 板上项 > p1 > p2 > p3 > 无级;同级先 `Bug` 再卡龄
455456
- `pm:blocking` 级内先按解锁扇出(从 `Blocked-by:` 反向索引现算,⛔ 扇出数不落标签)。
456-
- 全序每级取既有信号现读/现算,零逐卡维护;优先是排序不是豁免。
457+
- 全序每级取既有信号现读/现算,零逐卡维护;优先是排序不是豁免;无级卡轮报记分诊缺口
457458
- 解锁那一刻 PM 自己的判断最不可信:裁决收窄或关掉了那张卡是假设不是前提。
458459
- 该假设以机制假设身份进派发令,被证伪就在同一张卡公开更正。
459460

@@ -475,7 +476,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
475476
- 末行 Serial constraints cleared 是落在评论里的读数,同包在飞单不点名等于没查。
476477
- 末行点名同包/同文件的前驱 PR 与在飞认领,及本卡 pin 断言的兄弟卡;无则 none。
477478
- 本卡 pin 断言兄弟卡在改的行为 ⇒ 派发令注明,并在用例内预登记翻转触发词,⛔ 不修绿。
478-
- 文件面对跨域例外单必填、普通单建议;分支名必须带 issue 号。
479+
- 文件面申报到区域级,每单必填;分支名必须带 issue 号。
479480
- 家族派发的折叠认领:共享分支按链首卡命名;每张成员卡各留认领评论并点名该分支。
480481
- 折叠的一 PR 正文多行 `Fixes #<n>` 每成员一行、逐卡 commit;完整串行约束检查落链首认领。
481482
- 限流不拆原子对:发不出评论就撤 assign 或不开始;配额尽则整对排队,永不留半个。
@@ -520,9 +521,9 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
520521
- 档位逐次派发显式传参,永不省略。
521522
- 解析顺序、pin 语义与允许名单回退陷阱以 os-dev 定义 frontmatter 注释为权威。
522523
- 分诊 suggestion 行是输入不是决定,不采纳给理由。
523-
- 派发词 ⛔ 默认不整段粘贴 issue 正文:让 dev 自己读 GitHub 全文与全部评论。
524-
- 派发词必须要求 dev 自查正文完整性。
524+
- 派发词 ⛔ 默认不整段粘贴 issue 正文:让 dev 自己读全文与全部评论并自查正文完整性。
525525
- 派发词只带增量,构造细则与条款原文见 `references/dispatch-runbook.md`
526+
- 派发词引卡片的精确断言(schema 臂、判据、原文)一律逐字,⛔ 不释义转述。
526527
- 三分区:裁决(不可重裁)/ PM 机制假设(须实测,鼓励证伪)/ PM 建议的路线(可选,实测优先)。
527528
- 凡我觉得可以这样的一律降到第三区;⛔ 不把假设写成裁决。
528529
- 标准非协商条款 ⛔ 不抄进派发词:hook 已机械强制段与 os-dev.md 已载通用段砍掉。
@@ -548,7 +549,6 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
548549
- 拒收用例 ⇒ `code`+`status` 最低断言。
549550
- 过滤/谓词语义 ⇒ 编译面清单逐面申报,⛔ 静默略过。
550551
- 前提先行写明:issue 正文是线索不是规格。
551-
- `premise_still_valid: false` + 无 PR 是合法且常常有价值的交付。
552552
- 资源与后端:S 级机械 + M ⇒ `mode:subagent`;S 级但不机械(判断面在设计不在门禁)按 M 待遇。
553553
- `mode:cloud` 只保留给 L/XL、必须活过 PM 会话的工作、浏览器/dogfood 验证。
554554
- build 重的 M 卡逐卡判断是否上云。
@@ -653,10 +653,10 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
653653
- 默认分支 push 即触发对外部署的仓,只在验证层存在时才合并;无验证层 ⛔ 不合并。
654654
- 验证层 = 部署以 CI 为闸、发布后探测线上面、失败自动回滚并立卡。
655655
- 该类仓的落地判据是已发布且探测通过,⛔ 不是 MERGED;跟到发布为止。
656-
- 合并后工作流不在任何 PR 的检查清单上,读 PR 检查的规则对它全盲。
657-
- 该类仓的部署工作流按独立检查类登记,与 PR 检查分开读。
656+
- 合并后工作流不在 PR 检查清单上,读 PR 检查的规则对它全盲;按独立检查类登记分开读。
658657
- 人闸不是验证层的替代:答不了会不会坏的人闸只买延迟,⛔ 不以人闸代替探测。
659658
- 首次入队 flip 定点、MERGED 两读数、关键 PR 订阅与退订/归档细则见 landing-operations B。
659+
- 信任 suite/check 事件前先重读 PR 对象取 head:检查读数绑定该 head,⛔ 不绑事件带的 SHA。
660660
- 落地记账:座位贴落地清单即账本,逐轮即时记;确需全仓核对时首选 `head:claude/` 精确过滤。
661661
- 红/踢出处置在同一落地窗口内做:机器输入是 merge-queue triage workflow 的分诊评论。
662662
- 判据唯一来源是签名台账(锚点 issue),优先于现场判断;只有人工能升级台账。

.claude/skills/pm-dispatch/references/core-rules.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
- 自设定时器只定下次唤醒、不定轮长;新 fire 到时上一轮未清空即接续,⛔ 不重开不重排。
1818
- 分诊席跑普通直连会话,达档职责改派显式传档位的子代理;自排下次唤醒不超过 55 分钟。
1919
- 开轮互斥读四个读数:收班简报、开轮标记、本车道最新他会话认领、最新关闭卡的认领。
20-
- 未收班活动任一未满一个轮次即自退;有收班简报可直接坐席,坐席后先写开轮标记。
20+
- 未收班活动任一未满一轮即自退,总监席除外;有收班简报即坐席,坐席后先写开轮标记。
2121
## 全体座位的不变量
2222
- 状态住 GitHub 标签、assignee、正文行与座位贴;⛔ 本地零状态;循环须能从新会话恢复。
2323
- PM ⛔ 不写文件也不写代码,唯一例外是维护者逐 PR 明示授权的 `.claude/` 内部工具 PR。
@@ -103,10 +103,10 @@
103103
- 每轮巡检先读半状态巡查锚上点名本车道的行并逐行处置,未处置 ⛔ 不开新派发。
104104
- 候选整车道一次读全再本地求交,每张读全文与全部评论并把裁决逐字引入派发词。
105105
- 派发前做前提过时检查,动作面、卡引用面与工作项面三面都对树核验。
106-
- 一批内任两单不得碰同一个包、注册表、barrel 或 spec schema;同文件的单跨轮硬串行
106+
- 同批独立性按文件面不相交判,⛔ 不按包;同文件硬串行,冲突交合并队列仲裁 ⛔ 不手排
107107
- 家族派发须过五门:同缺陷同修法、同包区域、成员皆已裁、逐成员可核、点名排除清单。
108108
- 两张以上排队卡共享热文件时,必须以五门为判据显式回答折叠还是串行。
109-
- 取卡全序:插队卡、有下游依赖者的卡、发版板上项、缺陷卡、其余,同级按卡龄
109+
- 取卡全序:插队卡、有下游依赖者的卡、板上项、p1、p2、p3、无级;同级缺陷卡先再卡龄
110110
- 认领原子对:一次标签写入完成认领与状态对调,随后留 `Claim:` 开头的评论并重读全线程。
111111
- 更早的他会话认领即让行并交出已诊断的一切;认领逾一天且无合并证据即疑死。
112112
- 回收前先救工作树,有提交的活分支 ⛔ 永不回收。

.claude/skills/pm-dispatch/references/seat-post-protocol.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
## 贴的四段与派生视图
66

77
- 四段的现值由在任座位在写侧刷新时收缩;⛔ 岗位说明 PR 不代改贴正文。
8-
- 标题即状态板,固定格式 `[PM seat] <座位名> — <状态>`
8+
- 标题即状态板,固定格式 `[PM seat] <座位名> — <状态>`;`label:pm:seat` 列表页即舰队状态板
99
- 状态词表:`🟢 <github-login>` 在任、`🟢 Routine``⏳ vacant``⏸️ paused`
10-
- `label:pm:seat` 的列表页因此就是全舰队状态板。
1110
- assignee = 在任 PM 的 GitHub 账号,退场或回收时摘除;无 assignee = 空缺,与标题互为校验。
1211
- 例外:Routine 座位的 bot 身份通常不可被 assign,以标题为准。
12+
- 多场席(总监):`🟢` 后写召唤账号,状态块逐场一行(会话 ID + 锚);无在任者、无接管。
1313
- 当前 PM 段登记三元:GitHub 账号(`get_me` 自查)、会话 ID 或 Routine ID、上任时刻。
1414
- 审计与认领评论的作者字段是平台盖章的硬读数,接管仲裁与活性判定优先用它对账正文。
1515
- 班次叙事 ⛔ 不进贴正文:逐卡状态在卡与 PR 上必填,轮次合计走轮次报告。

scripts/pm/check-skill-line-ratchet.mjs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -746,12 +746,15 @@ export const CEILINGS = new Map([
746746
// ruling citations and incident narrative left; every rule stayed. Landed count,
747747
// headroom 0, same convention (lowering is always legitimate).
748748
['.claude/skills/pm-dispatch/references/lanes/hotcrm.md', 53],
749-
// Project Director seat charter (maintainer ruling 2026-08-27, verbatim in the
750-
// file: 「项目总监 由人工定期指挥,负责处理 contract-review 类别的和需要决裁的。」) — a
751-
// human-invoked seat owning the contract-review chain, the adjudication duty and
752-
// the maintainer-action ledger. A lane charter is read per seat session like
753-
// every entry above. Set at the landed line count read from this ratchet's own
754-
// run (headroom 0, same convention as the entries above).
749+
// Project Director seat charter (maintainer ruling 2026-08-27, verbatim:
750+
// 「项目总监 由人工定期指挥,负责处理 contract-review 类别的和需要决裁的。」; the file
751+
// carries it as a rule line since the rules-only rewrite, not as this quotation)
752+
// — a human-invoked seat holding the contract-review after-audit, the
753+
// adjudication duty, the maintainer-action ledger and the governed-merge audit,
754+
// with any number of summons running concurrently: no occupant, no handover. A
755+
// lane charter is read per seat session like every entry above. Set at the
756+
// landed line count read from this ratchet's own run (headroom 0, same
757+
// convention as the entries above).
755758
// 75 → 77: maintainer-directed placement (2026-08-27, verbatim: 「创业阶段不渐进
756759
// 应该写入项目总监skills」) — the no-gradualism standing rule lands here by that
757760
// directive; the file sat at headroom 0 with no losslessly compressible slack in

0 commit comments

Comments
 (0)