Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions .claude/skills/pm-dispatch/references/dispatch-runbook.md
Original file line number Diff line number Diff line change
Expand Up @@ -235,9 +235,12 @@ monitor 按自己的 deadline 触发;身份 = 三元组 `(issue, 分支, PR head
`status: 'planned'` = 有 carrier、零消费者,`authorHint` 就是证词;
不读账本的派发让 dev 交出解析通过、校验通过、加载成功而**渲染为零**的元数据
—— 绿收据背书的假修复比诚实的缺陷更贵,代价是一次文件读对一整轮 agent 运行。
- **停条件写法:
要证据,不要判决**。派发令里的前提/停条件检查必须要 dev 回报**证据面**(搜了什么、
找到什么),分叉归 PM 判 —— 写成「发现消费者就停下」把判决权交回被停的一方。
- **停条件写法:要证据不要判决,且动作须在本轮内终局**。前提/停条件检查要 dev 回报**证
据面**(搜了什么、找到什么),分叉归 PM 判 —— 写成「发现消费者就停下」把判决权交回
被停的一方。可执行性判据:一次性 dev 无中途提问的通道,「先问再继续」预设了不存在的
续接,把照做并报告/不做/自行裁断三选一(非二选一)整个交给本想被围住的人。两种改写
都在一轮内闭合:允许做 ⇒「只做**最小**编辑,并在报告里单列该判断与回退方式」;不许
做 ⇒「⛔ 不要动该文件,让门禁红着并在报告里点名该站点」。
- **派发那刻现取、随派发词下发的两份读数**(条款主文在主文件;
判据同一:PM 已有的读数下发一次,⛔ 不让 N 个 dev 各重跑同样贵的 GraphQL 读):
① **门禁清单**单班之内即过期;全 farm 归 CI 跑一次,⛔ 不让 dev 枚举全 farm;
Expand Down
12 changes: 11 additions & 1 deletion scripts/pm/check-skill-line-ratchet.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,17 @@ export const CEILINGS = new Map([
// one ruling sized to the merged end-state of the three stacked PRs on this file. The +4 is
// the measured residual of the ⑦-method section after compression to its reasoned floor and
// real-deletion cuts were exhausted; re-wrap funding was refused per the 2026-08-17 rule.
['.claude/skills/pm-dispatch/references/dispatch-runbook.md', 278],
// 278 -> 280 (maintainer ruling, 2026-09-02, live PM chat with the director seat, replying to
// decision batch #4 in which this card was item 2 — verbatim and untranslated:
// 「13973 帮我综合分析,并参考主流平台的方案,并给我解释为什么不能都用日期类型。其他同意」
// — 「其他同意」 adopts option A): the stop-condition bullet becomes the MERGED bullet, carrying the
// executability criterion — a fence clause is executable by a one-shot dev only if the action it
// demands is TERMINAL within the run — plus the two executable rewrite forms, so neither can be
// copied without the other. Prose, never a table row: the widest-table-row pin below stays at 0,
// which is what forecloses the compact two-row table the card and its triage both used. Funding
// the growth by deleting sibling rationale was refused by the same ruling (option D). Landed
// count, headroom 0, same convention.
['.claude/skills/pm-dispatch/references/dispatch-runbook.md', 280],
// Whole-text restructuring round (maintainer ruling 2026-08-23, Q1 = A):
// mechanism detail extracted from SKILL.md — the four long state-table rows
// (state-machine.md) and the clause-② review-chain operational detail
Expand Down
Loading