Skip to content

skills(pm-dispatch): grading reads the checklist ITEM, not the area — Path: carries the item id, the card inherits the item's P, and 「有人在等」 is not a test #19155

Description

@os-elon-musk

Path: none | charter (.claude/skills/pm-dispatch/SKILL.md :362 — the Path: grammar — plus one grading rule; twins in references/core-rules.md / references/lanes/triage.md only where a line exists) | RULED wording (maintainer 「有人在等吗 是个伪命题」, 2026-09-19) | serial behind #19340 under ruling 甲 | graded by domain:skills#2

Finding class (b), surfaced by the maintainer's first sweep batch (2026-09-19): the triage seat mapped every card onto a checklist AREA (access-security, studio-authoring, …) and read the hit as 「清单上的能力断了」, so 8 of 8 cards graded P0–P2 and none closed; it then substituted 「有人在等吗」 as the tie-breaker. Maintainer ruling, verbatim: 「我们是一个开发工具,应该考虑北极星有没有这个需求,有人在等吗 是个伪命题」.

仪器 question (北极星「仪器为车队服务」): which fleet decision differs — every grading in the two-repo sweep (≈965 cards) and every first-touch grading after it; the seat re-graded one batch by hand already. ⇒ p1 (blocks the maintainer's live sweep).

The law's test, made mechanical: docs/qa/platform-checklist/areas/*.json carries 264 items with ids (<area>.<slug>) and their own priority (P0/P1/…). A card is 「在清单上」 only when it can name the item that would FAIL because of it; a card that merely touches an area is not. The card's level inherits the item's P when the capability is broken, P2 when it runs but errs; no item and no path step ⇒ none ⇒ p3 or not planned. Named users, pull, or 「有人在等」 are never a test — the North Star's definition list, the path and the checklist are.

Scope (.claude/skills/pm-dispatch/SKILL.md, ceiling 812 / 812 line-neutral, every line ≤ 120 B; twins in references/core-rules.md and references/lanes/triage.md if either carries the grading line — grep first):

  1. :362 Path: P<n> | <清单区> | nonePath: <清单项 id> | P<路步> | none (the item id from docs/qa/platform-checklist/areas/*.json, or the path step of 「唯一的度量,那条路」, or none).
  2. One line (fold a neighbour to pay for it): 命中清单区 ≠ 能力断了;写不出会 fail 的清单项 / 断的路步 ⇒ none ⇒ p3 或不做;定级继承该项的 priority(断)或 P2(能跑但错);⛔「有人在等」「拉动」不是判据.
  3. The 分诊缺口 rule at :461 stays (a missing Path: line is the round-report gap); Path: none is a written answer, not a gap.

Acceptance greps (control on origin/main): 「清单项」 in SKILL.md ≥ 1 (control 0 in this sense — 清单区 is what main says); 「有人在等」 in SKILL.md 1 as a negative rule (control 0); Path: in SKILL.md ≥ 2 (control 2). Gates: check:pm-skill-ratchet (812 / 812), check:pm-skill-id-lint, check:skill-frame-sync, check:pm-half-states. Governed: .claude/** = Tier S ⇒ draft PR, the skills seat's contract-tier record lands it.

Not in scope: the North Star text itself (the maintainer's; a clause 「清单上的能力断了 = 指得出会 fail 的清单项」 is offered to the maintainer in chat) and the checklist files.


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions