Skip to content

Commit a43405d

Browse files
docs(pm-dispatch): concentrated test runs file one card per defect, with no per-fire quota (#24743)
Maintainer instruction, verbatim, in Claude Code session `session_01CfRDy7SuTfUqaTu2AEH2Hi` on 2026-10-20 (the 18.0 QA wave's dispatch session), after a UX walkthrough folded fifteen unrelated console defects into one list card to stay under the per-fire quota: > 你这种集中测试的不应该限制立卡张数,skills 也要调整 Clause-②: no — internal agent tooling under `.claude/`; publishes nothing from any released package. ## What changes One line of `.claude/skills/pm-dispatch/references/filing-gate.md`, the filing gate's quota rule: - **Before:** "配额:一席每 fire 至多立三张;sweep 超出的折进一张带清单的卡,或折进座位贴。" — every filing seat, a QA run or walkthrough included, filed at most three cards per fire and folded the rest into one list card. - **After:** "配额:一席每 fire 至多三张,超出折清单卡或座位贴;QA/走查逐缺陷立不限张数,守批量间隔。" — the per-fire quota still binds every other filing; a QA run (`checklist-test`) or a dogfood / UX walkthrough files each defect that passes the gate as its own card, with no count limit, and keeps the batch write gap (`scripts/pm/write-pace.mjs` rule ⑤: announce the batch, 30 s between writes). Why the pacing half (second commit): lifting the count without naming the gap invited bursts — one walkthrough filed fifteen issues in 42 seconds at the default 3-second gap. The maintainer approved adding it in the same session. Unchanged: the gate itself (categories ①–④, the three answers, `reach:`, the dedupe query and hit count), and the report contract's rule in `SKILL.md` that same-family findings (one root cause, several locations) fold into one family card. ## Why A concentrated test run's findings were landing as list cards no single lane could pick up: the round-1 wave folded unrelated items into one card, and the first UX walkthrough folded fifteen console defects across different components into one. A list card of unrelated defects has no single owner, no single fix and no single close. `checklist-test` §4 and RUNNER's extraction obligation already say each product defect is extracted as its own issue; the quota line was the only text contradicting them. ## Line budget The file sits at its ratchet ceiling (64 lines, headroom 0) and a 120-byte line cap, so the rule is rewritten in place: 1 line out, 1 line in (120 bytes, at the cap). No ceiling moves. ## Gates Run locally at `6aede73015`; after the pacing commit `4d35cb6460`, `check:pm-skill-ratchet`, `check:pm-skill-id-lint`, `check:skill-frame-sync` and `check:doc-authoring` re-run, each exit 0. The first run, the derived set from `node scripts/pm/dispatch-gates.mjs --commands` for this path (17 commands), every one exit 0: `check:pm-skill-ratchet`, `check:pm-skill-id-lint`, `check:skill-frame-sync`, `check:pm-governed-merges`, `check:doc-authoring`, `check:nul-bytes`, `check-closing-keyword-parity` (scan and self-test), `check-comment-mask-corpus`, `check-harness-current --self-test`, `check:agent-test-spelling`, `check:cross-package-test-inputs`, `check:driver-memory-census`, `check:gitlink-declared`, `check:refd-timer-probe`, `check:watch-hint-literal`, and `@objectstack/lint check:doc-formula-expressions` (first run exited 3 before measuring — the formula and lint packages were unbuilt; after building both it exits 0). ## Landing `.claude/**` is a Tier S governed surface (Prime Directive 14): this PR stays draft until the PR thread or its card carries a `## Contract review` record for the current head with `Served-tier: CONTRACT_REVIEW_TIER` and a PASS verdict; the owning seat (`domain:skills`) then lands it. --- _Generated by [Claude Code](https://claude.ai/code/session_01CfRDy7SuTfUqaTu2AEH2Hi)_ --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent 46bb5e3 commit a43405d

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

‎.claude/skills/pm-dispatch/references/filing-gate.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
- 补不齐(四类皆非)者才因缺件首触即关 not_planned,一行点名所缺。
2828
- 「动手的读者」与 Acceptance notes 同一问:说得出具体 PR 或人 ⇒ 写进去,说不出 ⇒ 不立卡。
2929
- 说不出的形态:`.changeset/*`、无人在改的文档页、生成物、已扫完的批次,兜底不成立。
30-
- 配额:一席每 fire 至多立三张;sweep 超出的折进一张带清单的卡,或折进座位贴。
30+
- 配额:一席每 fire 至多三张,超出折清单卡或座位贴;QA/走查逐缺陷立不限张数,守批量间隔。
3131
- 分诊席的存量清理仍走维护者确认的十张一组、只备下一组,⛔ 不因本门改批量。
3232
- 读到 `User` ⇒ 记座位贴、本 fire ⛔ 不立新卡;认领仍靠 assignee,署名仍是文本的 session ID。
3333

0 commit comments

Comments
 (0)