From ed2a6e4516fba4acac23255b5ba5e04b63c5e08e Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 7 Sep 2026 22:31:47 +0000 Subject: [PATCH] skills(pm-dispatch): restate the carrier discipline where triage reads it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `needs:contract-review` was being hung at TRIAGE time as a routing state, on cards with no `pm:*` state and no claim — a convention inherited from neighbouring triage comments rather than from the rule it claimed to implement. The carrier discipline already says the label rides a reviewable increment (a draft PR, or the card in the same stroke as a `Clause-②: yes` claim) and never gets pre-hung; it was just not written where triage reads. Two sentences, both fold-paid, both files at their pinned line counts: - `references/lanes/triage.md` (7/7): the new rule is paid by the blank separator between the H1 and the pointer paragraph. Proved render-neutral with micromark — an ATX heading is a leaf block, so the paragraph that follows it needs no blank line, and the rendered h1/p/ul structure is byte-identical to before. Merging two of the three existing rule bullets was measured first and would have cost a clause: the three carry 324 bytes of unique content over a 120-byte per-line cap, and nothing in them is restated anywhere else in the corpus. - `SKILL.md` (811/811): paid by deleting one restating line whose every clause survives in fuller form in `references/dispatch-runbook.md`, which the same section already delegates to on the adjacent line. Claude-Session: https://claude.ai/code/session_018dxq7YqsLDMeZDZ5AzsgJX Co-authored-by: Claude --- .claude/skills/pm-dispatch/SKILL.md | 2 +- .claude/skills/pm-dispatch/references/lanes/triage.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.claude/skills/pm-dispatch/SKILL.md b/.claude/skills/pm-dispatch/SKILL.md index c209baccea..0f84f55ef3 100644 --- a/.claude/skills/pm-dispatch/SKILL.md +++ b/.claude/skills/pm-dispatch/SKILL.md @@ -337,6 +337,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报 - 见新 tag 族发布 ⇒ 在 cloud 立 `.objectstack-sha` bump 单。 - bump 单单张封顶:先查同题 open 单,已有就追评刷新;工具链新形态只提请不扩面。 - 分类动作每张三选一,外加一个修复通道。 +- ⛔ 不挂 `needs:contract-review`:随 draft PR 或 `Clause-②: yes` 认领;裁定写方向、给六态之一。 - `pm:queue` = 有具名落点或复现的具体缺陷,或范围明确的工具/门禁修复,无可问之事。 - `pm:queue` 也收恢复不变量的 finding 与 test-only pin。 - `needs-user-decision` = 设计卡、feature/契约形状提案、需要 appetite 的多周程序。 @@ -552,7 +553,6 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报 - same-day churn 行:当天合并 ⇒ 先核对当前 main;在飞重叠每轮求交,相交即发四句警告。 - 被在飞重叠完全覆盖就停下回报,⛔ 不硬造 diff。 - 翻转公开语义的裁决随卡带全仓 pin 清扫,两句缺一不可,原文见 runbook。 -- 条件性标准条款命中判据才抄:多实现面 ⇒ 共享一致性覆盖。 - 拒收用例 ⇒ `code`+`status` 最低断言;过滤/谓词语义 ⇒ 编译面清单逐面申报,⛔ 静默略过。 - 资源与后端:S 级机械 + M ⇒ `mode:subagent`;S 级但不机械(判断面在设计不在门禁)按 M 待遇。 - `mode:cloud` 只保留给 L/XL、必须活过 PM 会话的工作、浏览器/dogfood 验证。 diff --git a/.claude/skills/pm-dispatch/references/lanes/triage.md b/.claude/skills/pm-dispatch/references/lanes/triage.md index b2e2947cd7..e5e3e7606f 100644 --- a/.claude/skills/pm-dispatch/references/lanes/triage.md +++ b/.claude/skills/pm-dispatch/references/lanes/triage.md @@ -1,7 +1,7 @@ # 席位章程:分诊席(Triage) - 见 SKILL.md 〈分诊座位职责〉;本文是本席的岗位说明,现值状态恒在座位贴,⛔ 不迁入本文。 - 分诊每 fire 只取一个仓,两仓轮替:objectstack、objectui、objectstack……;仓内按最旧优先。 - 饥饿守卫:轮次开始时任一仓最旧未路由卡超过 4 小时,该仓本轮优先,不论轮到谁。 - ⛔ 不回退到跨仓全局最旧优先;⛔ 不因积压增设第二分诊席或改 fire 频率。 +- ⛔ 分诊不挂 `needs:contract-review`:随 draft PR 或 `Clause-②: yes` 认领;写方向、给六态之一。