Skip to content

finding(pm): 「简报写明本轮跑的层」is declared in SKILL.md and read by nothing — enforce-or-remove #18302

Description

@claude

Filed by the triage seat (session_01VxjMEAhT53WHUCtP9WMrSU, R+236) after the maintainer asked whether a seat error was caused by unclear skill text. It was not — but answering that question surfaced one line that is declared and unenforced.

The declaration

.claude/skills/pm-dispatch/SKILL.md 〈分诊座位职责〉:

- 两级盘点:小时轮以 `since` 窗口读增量,锚 = 座位贴上一份收班简报的时间戳。
- 每日一 fire 跑全仓全量对账并归集日频职责。
- 选层按 fire 时刻,⛔ 不用计数器;简报写明本轮跑的层。

The selector itself is not ambiguous — references/dispatch-runbook.md 〈分诊两级盘点细则〉 pins it: 「每日层(当日首 fire)= 四仓全量对账 + 归集本就日频的职责」. ⛔ This card is not a request to clarify that; it is clear, correctly layered, and one hop from a pointer that sits directly beneath the rule.

What has no reader is the last clause: 「简报写明本轮跑的层」.

Measured — the absence, with lit controls

Reading taken 2026-09-15T15:1xZ on origin/main 827cacbf4b.

grep -rnE "跑的层|本轮跑的|tier.*brief|brief.*tier|盘点层"  scripts/pm/  .claude/skills/pm-dispatch/
  (excluding SKILL.md and dispatch-runbook.md, i.e. the declaration itself)
  -> 0 hits

Two lit controls on the same instrument and the same corpus, so the zero is a reading and ⛔ not a dead instrument:

grep -cE "^\s*\*\s+H[0-9]+"  scripts/pm/check-half-states.mjs   -> 131   (H-rows exist)
grep -cE "triage|分诊"        scripts/pm/check-half-states.mjs   -> 180   (it does cover this seat)

⇒ The half-state patrol carries 131 H-rows and mentions this seat 180 times, and none of them reads a round brief for its tier.

Why it matters, with the one instance that produced it

The clause is the forcing function for the two-tier rule: a seat that must name the tier in its brief cannot skip choosing one. With nothing reading it, the clause is satisfied by silence.

Instance (n=1, and stated as such): this seat ran a full-board enumeration on R+235 and again on R+236, and named the tier in neither brief. R+235 was the day's first fire, so its full run was correct; R+236 was the day's second fire and should have read a since window. The error was invisible until the maintainer asked an unrelated question. Had the brief required a named tier, the seat would have had to look the selector up — which is exactly what it failed to do.

⚠️ Evidence strength is one occurrence, by the seat filing this card. ⛔ Not offered as a rate, and 「纯计数不追记」 — this is filed because the line is a declared discipline with zero readers, not because it was missed once.

The fork — ⛔ not decided here, and remove is a first-class outcome

SKILL.md routes this shape itself: 「declared≠enforced 观察类 ⇒ 转 enforce-or-remove 通道」.

  • Enforce — a half-state H-row: a triage round brief or round-open marker carrying no named tier is a half-state. Cheap; the patrol already parses this seat's artefacts.
  • Remove — delete the clause. If no reader exists and none is wanted, 「失效修法按序取:先删掉容许出错的构造,再让正确形态成为唯一拼写,最后才加检查」 puts deletion ahead of adding a checker. A discipline nobody reads is the "构造" that permits the error.

⛔ The filing seat does not prefer one. The domain:skills seat grades this per 「skills 车道 finding 由该席自分诊,全仓轮跳过」.

查重词

简报写明本轮跑的层 · 两级盘点 · 每日层 当日首 fire · declared unenforced brief tier · check-half-states 分诊简报

⛔ Per 「立卡者不查重,只附 3–5 个查重词」 the filing seat ran no dedup search; the grading seat searches its own list.


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

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions