Found while implementing #15884 (the H1/H24 prose alignment and the new report-only H47 release row). Left out of that card's PR by its dispatch ruling, which scoped the diff to the H1 header sentence, the H24 finding sentence and the new row.
The reading
scripts/pm/check-half-states.mjs presents 「同笔摘 assignee」 inside quote brackets at four places, which in this file's register signals a verbatim .claude/skills/pm-dispatch/SKILL.md quotation:
- ~line 488 — the H24 header-inventory paragraph, which says H8's and H19's remedy sentences "now name it too"
- ~line 1724 — H8's finding sentence (the merged-PR re-grade remedy)
- ~line 3435 — H19's release text, on both the closed and the unresolved branch
- four self-test cases pin the phrase:
H8: the full-delivery remedy names ..., H8: the HALF-delivered branch prescribes no assignee drop, H19: the release text names ... and its unresolved-branch twin
Two measurements on main at b398ad2, both cheap to repeat:
git grep '同笔摘 assignee' outside this one script: zero hits. SKILL.md and references/state-machine.md carry 同笔摘标, which is a label removal on pm:retriage — a different act on a different field.
git log -S'同笔摘 assignee' -- .claude/skills/pm-dispatch/SKILL.md on a non-shallow clone: empty. The phrase has never been in that file. It is the script's own coinage, wearing quotation brackets.
Why this is not a spelling nit
PR #15848 landed the release act at 2026-09-05T11:52Z, and it is ONE act with TWO halves:
释放是显式动作:让卡离手者同笔清 assignee + Release: 行(会话/因/去向);下一任重新认领。
The three sentences above prescribe only the first half — drop the assignee — and say nothing about the record. A reader who follows them exactly produces the shape the new H47 row exists to report: the field cleared, no Release: line, an exit that left no record. The sweeper's own remedy text now instructs a half-state.
Suggested repair
Re-point the three sentences and their four pinned cases at the landed line, the way #15884's PR did for H24's remedy: quote it verbatim and name both halves. The header-inventory paragraph at ~488 additionally narrates the coinage's origin ("only dead-claim reclamation ever named the assignee drop") and should read the rule instead of the history.
Repo: objectstack. File: scripts/pm/check-half-states.mjs. Pure code, one file, self-test only.
Generated by Claude Code
Found while implementing #15884 (the H1/H24 prose alignment and the new report-only H47 release row). Left out of that card's PR by its dispatch ruling, which scoped the diff to the H1 header sentence, the H24 finding sentence and the new row.
The reading
scripts/pm/check-half-states.mjspresents 「同笔摘 assignee」 inside quote brackets at four places, which in this file's register signals a verbatim.claude/skills/pm-dispatch/SKILL.mdquotation:H8: the full-delivery remedy names ...,H8: the HALF-delivered branch prescribes no assignee drop,H19: the release text names ...and its unresolved-branch twinTwo measurements on
mainat b398ad2, both cheap to repeat:git grep '同笔摘 assignee'outside this one script: zero hits. SKILL.md andreferences/state-machine.mdcarry同笔摘标, which is a label removal onpm:retriage— a different act on a different field.git log -S'同笔摘 assignee' -- .claude/skills/pm-dispatch/SKILL.mdon a non-shallow clone: empty. The phrase has never been in that file. It is the script's own coinage, wearing quotation brackets.Why this is not a spelling nit
PR #15848 landed the release act at 2026-09-05T11:52Z, and it is ONE act with TWO halves:
The three sentences above prescribe only the first half — drop the assignee — and say nothing about the record. A reader who follows them exactly produces the shape the new H47 row exists to report: the field cleared, no
Release:line, an exit that left no record. The sweeper's own remedy text now instructs a half-state.Suggested repair
Re-point the three sentences and their four pinned cases at the landed line, the way #15884's PR did for H24's remedy: quote it verbatim and name both halves. The header-inventory paragraph at ~488 additionally narrates the coinage's origin ("only dead-claim reclamation ever named the assignee drop") and should read the rule instead of the history.
Repo: objectstack. File:
scripts/pm/check-half-states.mjs. Pure code, one file, self-test only.Generated by Claude Code