From 9f87053d8fc28b884a7cdbd1209356fcbadf137e Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 20 Sep 2026 23:29:11 +0000 Subject: [PATCH] =?UTF-8?q?docs(pm-dispatch):=20grading=20reads=20the=20ch?= =?UTF-8?q?ecklist=20ITEM,=20not=20the=20area=20=E2=80=94=20the=20Path:=20?= =?UTF-8?q?line=20carries=20=E5=AE=9A=E4=B9=89=E9=A1=B9=20|=20=E6=B8=85?= =?UTF-8?q?=E5=8D=95=E9=A1=B9=20id/=E7=BC=BA=E9=A1=B9=20|=20P=E8=B7=AF?= =?UTF-8?q?=E6=AD=A5,=20the=20card=20inherits=20the=20item's=20priority,?= =?UTF-8?q?=20and=20=E3=80=8C=E6=9C=89=E4=BA=BA=E5=9C=A8=E7=AD=89=E3=80=8D?= =?UTF-8?q?=20is=20not=20a=20grading=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The grading line named an AREA (`<清单区>`) as the checklist test, so a card that merely touched an area read as 「清单上的能力断了」, and no line said that 「有人在等」 is not a test. Three lines now carry the two-layer test in place: - the `Path:` grammar becomes `<定义项> | <清单项 id/缺项> | P<路步> | none` (definition item first, then the ledger item that would FAIL or 缺项, then the path step; `none` is a written answer, not a triage gap); - the definition item is taken from the North Star's 「做出来的是什么」 (an instrument card's is the fleet decision that would differ); none ⇒ close; - only a checklist item that would fail counts as broken, the card inherits that item's `priority`; a missing item authors the ledger entry first; 「有人在等」 is not a grading criterion. Net 0 on the 813-line ceiling, every touched line ≤ 120 bytes: the two added lines are paid by retiring two second pointers — the 4th pointer to `references/dispatch-runbook.md` (the 收集 section keeps the 梯度 / 身份 / 验收兜底 rules themselves) and the 3rd pointer to `references/platform-readings.md` (the standing fact-table pointer remains, and that file's 断粮 section carries the same title as the section here). Claude-Session: https://claude.ai/code/session_017ETYWqMQD4qMtZzAGovWNi Co-authored-by: Claude --- .claude/skills/pm-dispatch/SKILL.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.claude/skills/pm-dispatch/SKILL.md b/.claude/skills/pm-dispatch/SKILL.md index f6b4865df09..379f8b07e98 100644 --- a/.claude/skills/pm-dispatch/SKILL.md +++ b/.claude/skills/pm-dispatch/SKILL.md @@ -360,7 +360,9 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报 - 判据:违背已声明契约 ⇒ `Bug`,扩大接受集/公开面越出已声明 ⇒ `Feature`,其余 ⇒ `Task`。 - `Bug` 无具名落点或复现路径不入 `pm:queue`(标记补复现)。 - ⛔ 不回填存量 backlog 的 type;新卡即时打、存量卡下次碰到补。 -- 定级按 `docs/NORTH-STAR.md`「优先级」第 1、2 条;正文首行 `Path: P | <清单区> | none`。 +- 定级按北极星「优先级」1、2 条;首行 `Path: <定义项> | <清单项 id/缺项> | P<路步> | none`。 +- 定义项取北极星「做出来的是什么」或仪器卡的车队决定;无则关;`none` 非分诊缺口。 +- 清单项会 fail 才算断,继承其 `priority`;缺项先补账本;⛔「有人在等」不是定级判据。 - 路由是分诊的技术判断,⛔ 永不升级哪个仓的问题;父单是协调节点,永不派发。 - 父单已有子结构的:父单队列标签即可,分诊逐个展开路由、补 `Blocked-by:` 排序。 - 每张留一条英文审计评论(`Triage: lands in …; rationale: …`),可选带 `Size/model suggestion:` 行。 @@ -585,7 +587,6 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报 - 直接验收兜底:(a) draft PR 在且 CI 全绿 + (b) 探活确认已死或 ≥2h 无推送 + (c) 报告未达。 - 三条件全立 ⇒ 直接按 PR 验收,复核判据不减;先探活后翻 ready。 - 舰队级死因(全账号断粮)下取 (a)+(c) 照常收口,PR body 就是报告。 -- 失报与停摆细则(梯度、身份三元组、验收动作)见 `references/dispatch-runbook.md`。 ### 复核 @@ -695,7 +696,6 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报 ## 断粮与跨墙恢复(5 小时用量墙) -- 检测读数、盲区与恢复 playbook 细则见 `references/platform-readings.md`。 - 权威的墙信号是失败本身:撞墙报文里的重置时刻在那一刻可得、事前查不到,记下来。 - 跨墙定时器:拿到重置时刻 ⇒ 一发定点(reset + 缓冲)优先。 - 没有重置时刻 ⇒ 挂每小时 cron Routine,⛔ 不用 send_later 链。