Skip to content

Commit 8d4fc63

Browse files
docs(pm-dispatch): triage closes a report-only instrument fix card not_planned at first grade, citing ruling 208 (#21691)
Fixes #21681 Clause-②: no Tier S (`.claude/**` only). Draft; this run does not flip it ready, queue it or arm auto-merge — the owning seat lands it after its at-tier contract review. ## What changed One protocol sentence in the grading block of `.claude/skills/pm-dispatch/references/triage-duties.md`, as the triage ruling on the card (comment 5976725561) specifies: a card whose fix lands in a report-only instrument (the widening tell, the half-state patrols — the judge-intent class `instrument-discipline.md` names) is closed `not_planned` at first touch, citing ruling 208, and the instrument's only in-flight work is deletion. No new gate, label or script. It is paid in place: one restated line of the same file is deleted, so the file stays at 120 lines under its 120 ceiling. No other line is touched (no re-wrap), and `SKILL.md`, `instrument-discipline.md` and `scripts/pm/check-skill-line-ratchet.mjs` are untouched. The enumeration pin — the two instances where the rule was not read — is named in the commit message: #20969 / PR #21016 (landed) and #21465 / PR #21679 (held). A third such card is a red reading of this sentence, not a new card. ## Reading 1 (读数一): placement and payment Tree: `objectstack-ai/objectstack` at `bc85776a87` (branch head), base `251a7dd4b4`. - **New sentence, line 64** (120 bytes; the line cap is 120), directly under the two existing close-at-grade lines (the 「无则关」 line and the open-P0/P1 `tooling` line), so the grading block now carries all three close-at-grade cases together: ```text - 只报告仪器(放宽 tell、半状态巡查)的修复卡首触即关 not_planned,引裁决 208;在途只有删除。 ``` - **Deleted line, was line 40** — the triage-side restatement of the filing door's four classes: ```text - 立卡门四类:① 缺陷 / ② 维护者决定 / ③ 直派任务 / ④ 协调节点,⛔ 其余一律不立卡。 ``` - **Its owning copy, kept on the reading path:** `references/filing-gate.md` line 11, the same rule (four classes only, everything else refused), with the four class heads on lines 12 / 16 / 17 / 18: ```text - 立卡只为四类,正文首行写立卡门类别 ①–④;⛔ 其余一律不立卡,不论它叫什么。 - ① 有具名落点或复现的产品缺陷,即 `pm:queue` 的定义;其内的 `finding` 限三类且带 `reach:`。 - ② 只有维护者能做的决定,落卡即带「维护者速读」与四棱块。 - ③ 维护者直派的任务,正文引其原话。 - ④ 协调节点:跨仓/跨层父单与它的逐层子单。 ``` The triage reader reaches it through the pointer line kept right under the deleted one (now line 40): `首行写立卡门类别 ①–④;四类定义、⛔ 清单、三答与配额见 references/filing-gate.md`. The deleted line entered the protocol as the summary of that file, in the same commit that created `filing-gate.md` (`37ed9ae04b`), and moved here verbatim with the principle-only cut; it is a restatement rather than a ruled clause: the ruled clause, with its provenance quotation, lives in `filing-gate.md` and is unchanged. - **Line count:** 120 → 120 (ceiling 120, headroom 0, unchanged). Diff: 1 file, +1 / −1. ## Reading 2 (读数二): gate output Run at `bc85776a87`, after the final commit, exit codes captured before any pipe: ```text pnpm check:pm-skill-ratchet exit 0 ✓ check-skill-line-ratchet self-test: 157 cases pass. ✓ check-skill-line-ratchet: .claude/skills/pm-dispatch/references/triage-duties.md: widest table row is 0 bytes (pin 0; headroom 0). ✓ check-skill-line-ratchet: .claude/skills/pm-dispatch/references/triage-duties.md is 120 lines (ceiling 120; headroom 0). ✓ check-skill-line-ratchet: declared cross-file moves: 2, total ceilings down 477 lines. pnpm check:pm-skill-id-lint exit 0 ✓ check-skill-id-lint self-test: 14 cases pass. ✓ check-skill-id-lint: 34 file(s) clean (pattern /#[0-9]{3,}/g). ``` `ruling 208` is spelled without a hash prefix, the way `instrument-discipline.md` records it; the issue and PR numbers of the pin are in the commit message only. The full derived set (`node scripts/pm/dispatch-gates.mjs --commands`, no paths, change set read from the merge base) is the same 18 commands the dispatch listed, all exit 0. `--ran` reconciliation: `18 derived, 18 run, 0 NOT-MEASURED, 0 UNRUN` (a derived zero — every line carried its exit code). One first-run `exit 3` is not a measurement: `check:doc-formula-expressions` refused with PREREQUISITE NOT MET (unbuilt `@objectstack/formula` / `@objectstack/lint`); after the build it names (run under the shared verify lock, `VERDICT command-exit 0`) it exited 0. `check:nul-bytes` exit 0, plus a control-byte self-scan of the edited file: zero hits. No changeset: `.claude/**` publishes nothing. ## Acceptance notes - **Wording differs from the seat's suggested line, meaning unchanged.** The suggestion measured 152 bytes against the 120-byte line cap. The landed line drops the explicit `instrument-discipline.md` pointer; both of its key terms still lead there (「只报告的仪器」 is that file's rule line, and 「裁决 208」 its ruling record), and `reading-discipline.md` keeps its pointer to it. 「在途只有删除」 echoes that file's own 「它的在途工作只有删除」. - **The class is the instrument's role, not the path.** The sentence covers a fix to a report-only, judge-intent instrument. A fix to a hard-gate face that happens to share a file with a patrol is outside it, and the sentence does not widen the class beyond the two instruments the ruling names. Observation only, nothing filed. carrier: the triage seat, applying the sentence at grade time. - **Not decided here, as the ruling lists it:** whether the code PR #21016 landed is deleted under the report-only rule is the maintainer's question; this PR does not touch `scripts/pm/check-widening-tells.mjs`. ## 维护者速读(草稿) **改了什么:** 分诊职责文件 `triage-duties.md` 的定级段加了一句:修复落在「只报告仪器」(放宽 tell、半状态巡查)上的卡,首次定级就以 not_planned 关闭,并引裁决 208;这类仪器的在途工作只有删除。同时删掉同一文件里一行重复的「立卡门四类」摘要(完整原文仍在 `filing-gate.md`),文件仍是 120 行,行数上限不动。 **为什么改:** 裁决 208 早就规定只报告的仪器不立卡、不派开发、不开 PR,但分诊定级时并不读这条,于是两张这类卡被定级入队、派了开发,一张已经合并,一张被扣住,白花两轮开发。把规则写进分诊每次都读的定级段,首次定级就能拦住。 **风险与代价(含回滚):** 只改内部协议的一行文字,不新增门禁、标签或脚本。风险是分诊把与巡查同文件的硬门禁修复也误关,句子按「只报告」身份判断而不按文件路径,可以避免。已经合并的那份代码要不要删,不在本 PR 范围,留给您另行决定。回滚就是撤销这一个 commit。 **席位意见:** **你要做的:** 无需操作:本 PR 是 Tier S(只改 `.claude/**`),席位复核通过后经合并队列落地;不同意请回一句。 --- _Generated by [Claude Code](https://claude.ai/code/session_01CB6W87z22K2yjUCDyVrJRk)_ Co-authored-by: Claude <noreply@anthropic.com>
1 parent ff16740 commit 8d4fc63

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

‎.claude/skills/pm-dispatch/references/triage-duties.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
- 碰迁移形状或删已发布能力也进决策箱;说明书脱节不进:有裁定出处才是 (b),否则改文档。
3838
- 决策卡落卡必带四棱卡面块与其上的「维护者速读」,⛔ 不留待有人接手再补。
3939
- 决策卡的速读同题,用业务语言先讲事情与选项,末句只问一字:A/B/C 或是否。
40-
- 立卡门四类:① 缺陷 / ② 维护者决定 / ③ 直派任务 / ④ 协调节点,⛔ 其余一律不立卡。
4140
- 首行写立卡门类别 ①–④;四类定义、⛔ 清单、三答与配额见 `references/filing-gate.md`。
4241
- `finding` = 三类内待定级:(a) 可复现缺陷(复现或失败探针);(b) 违背已声明契约(引契约文);
4342
- (c) AI 写元数据会被运行时拒收或静默丢弃的陷阱;其余进 PR `## Acceptance notes`,⛔ 不立卡。
@@ -62,6 +61,7 @@
6261
- 清单项三态定级(会 fail / 步骤够不到 / 无项断言)与定级判据见 `references/filing-gate.md`。
6362
- 「无则关」= 首触即关 not_planned,带理由与入队两条件,⛔ 不定 p3、不 hold;下行同此。
6463
- 所入车道队列 P0/P1 开着(= 未派发,在飞不算)时,无解锁对象的 p2/p3 `tooling` 卡同样关。
64+
- 只报告仪器(放宽 tell、半状态巡查)的修复卡首触即关 not_planned,引裁决 208;在途只有删除。
6565
- 路由是分诊的技术判断,⛔ 永不升级哪个仓的问题;父单是协调节点,永不派发。
6666
- 父单已有子结构的:父单队列标签即可,分诊逐个展开路由、补 `Blocked-by:` 排序。
6767
- 跨层功能点(≥2 层)立父单带 `area:*`+`pm:epic`+清单项级,逐层子单按 `Blocked-by:` 排。

0 commit comments

Comments
 (0)