Skip to content

Commit 28872e6

Browse files
pm-dispatch(lanes): the skills, spec and ui charters point at the lane self-triage exception instead of restating the old absolute (#27358)
Fixes #27326 Clause-②: no Metadata-protocol: none ## 维护者速读 - 改了什么:skills、spec、ui 三份车道岗位说明各改一行,不再重述「车道席绝不自分诊」的旧绝对句,改为指向 `triage-duties.md` 车道席自分诊例外。 - 为什么改:例外已写进 `triage-duties.md`,只读自己岗位说明的席位仍会读到旧规则,与技能本体自相矛盾;规则文字仍只写一处。 - 风险与回滚:仅内部指令文本(`.claude/**`,Tier S),不发布任何包;回滚即 revert 本 PR,三行恢复原文。 - 先看:`references/lanes/ui.md` L8(为挤进 120 字节删了「同笔」二字与指针两侧空格,见下);其次 `lanes/skills.md` L22、`lanes/spec.md` L29。 - 两分钟验证:`pnpm check:pm-skill-ratchet`,预期三文件行数 32/42/23 不变、全绿。 - 需要你做的:无,席位落地(Tier S 契约复核)。 ## What changes Three in-place line edits, net 0 lines per file, each line within the 120-byte budget. Each line keeps its lane content and names the exception's home (`triage-duties.md`, 自分诊) instead of restating the absolute; no new rule text. | file:line | before (bytes) | after (bytes) | |---|---|---| | `lanes/skills.md` L22 | 「- 本车道 finding 同走分诊席首触,⛔ 不自分诊;席位可附证据与「仪器为车队服务」的答案。」 (119) | 「- 本车道 finding 归分诊首触,自分诊见 `triage-duties.md`;可附证据与「仪器为车队服务」答案。」 (119) | | `lanes/spec.md` L29 | 「- findings 首触定级归分诊席,本席只供证据。」 (57) | 「- findings 首触定级归分诊席,本席只供证据;例外见 `triage-duties.md` 车道席自分诊。」 (105) | | `lanes/ui.md` L8 | 「- ⛔ 不产 `domain:*`、type 与定级,分诊唯一生产;误标 `pm:retriage`+异议同笔,整树归本席除外。」 (118) | 「- ⛔ 不产 `domain:*`、type,定级仅`triage-duties.md`自分诊;误标 `pm:retriage`+异议,整树归本席除外。」 (120) | Line counts: `skills.md` 32 to 32 (ceiling 33), `spec.md` 42 to 42 (ceiling 43), `ui.md` 23 to 23 (ceiling 23). Headroom not spent. ## Tests No code, no published surface (`.claude/**` only), so no unit tests and no changeset (`skip-changeset`). The gate union derived by `node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack` (17 families) ran green on head `f65fff31`; see Verification. ## Acceptance notes - `ui.md` L8 byte budget: the dispatch hypothesis gave this line 2 B of room once 「分诊唯一生产」 is displaced. Measured, every wording that keeps 「定级」, 「自分诊」 and the full file name plus the untouched remainder lands at 128 B or more (the remainder alone is 89 B; the grade clause with the pointer is 39 B). To fit 120 B without spending the 0-line headroom, two things went: the spaces around the pointer's code span, and 「同笔」 in the mislabel clause (the same-stroke rule keeps its general home in `references/cross-repo-coordination.md` L32, 「误标挂 `pm:retriage`+异议同笔」). `domain:*` and `type` stay absolute and the pointer attaches to 定级 alone, so it does not read as a `domain:*` exception (triage-duties L32: 不改 `domain:*`). 「整树归本席除外」 is unchanged. If the seat prefers keeping 「同笔」, the alternative is dropping `.md` and 「归」 from 「整树归本席除外」, which the dispatch said stays. - `skills.md` L22 keeps 「仪器为车队服务」; to fit, 「同走分诊席」 became 「归分诊」 and 「席位…的答案」 became 「…答案」. - Out of scope, not edited (single-file-surface claim): `references/cross-repo-coordination.md` L31 still says 「执行席永不定级或路由裸卡」, the same absolute this card retires, in the multi-lane-repo section. Same family as this card; reported to the seat, not filed. - `skills.md` L23 (「…⛔ 不自入队;定级归分诊。」) covers findings that cannot answer the instrument question (p3 or drop), outside the exception's p1/p2 own-in-flight scope, so no contradiction; left as is. ## Verification <details><summary>Gate union on head f65fff3 (exit captured before any pipe)</summary> ```text node scripts/check-closing-keyword-parity.mjs :: exit 0 node scripts/check-closing-keyword-parity.mjs --self-test :: exit 0 node scripts/check-comment-mask-corpus.mjs :: exit 0 (18850 files, 0 disagree) node scripts/pm/check-harness-current.mjs --self-test :: exit 0 pnpm --filter @objectstack/lint run check:doc-formula-expressions :: exit 0 (first run exit 3 PREREQUISITE NOT MET; built formula + lint under the verify lock, VERDICT command-exit 0, then green) pnpm check:agent-test-spelling :: exit 0 pnpm check:cross-package-test-inputs :: exit 0 pnpm check:doc-authoring :: exit 0 pnpm check:driver-memory-census :: exit 0 pnpm check:gitlink-declared :: exit 0 pnpm check:nul-bytes :: exit 0 pnpm check:pm-governed-merges :: exit 0 pnpm check:pm-skill-id-lint :: exit 0 (105 file(s) clean) pnpm check:pm-skill-ratchet :: exit 0 (skills.md 32/33, spec.md 42/43, ui.md 23/23) pnpm check:refd-timer-probe :: exit 0 pnpm check:skill-frame-sync :: exit 0 pnpm check:watch-hint-literal :: exit 0 extra, outside the derivation: pnpm check:pm-settings-deny-roster :: exit 0, pnpm check:pm-governed-prose :: exit 0 dispatch-gates --ran: 17 derived, 17 run, 0 NOT-MEASURED (a DERIVED zero, all 17 recorded an exit code) ``` </details> Families the dispatch expected but the derivation does not name for these paths (`check:pm-half-states`, `check:pm-dispatch-gates`, `check:pm-record-recognisers`) are left to CI's `Lint & Repo Gates`. --- _Generated by [Claude Code](https://claude.ai/code/session_01QSeKYmhU5KEj1nukYhp1Tg)_ --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent 4e5285f commit 28872e6

4 files changed

Lines changed: 5 additions & 5 deletions

File tree

‎.claude/skills/pm-dispatch/references/cross-repo-coordination.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# 多仓协调
22

33
- 产品依赖方向固定:`objectstack`(后端与 `ui/` 前端,`packages/spec` 唯一契约)→ `cloud`、`hotcrm`。
4-
- 多车道仓 `objectstack`:中央分诊是 `domain:*`/type/定级的唯一生产者。
4+
- 多车道仓 `objectstack`:中央分诊唯一生产 `domain:*`/type/定级,定级例外见 triage-duties 自分诊。
55
- 单车道仓 `cloud`、`objectos`、`hotcrm`、`www.objectos.ai`;未来新仓默认此类。
66
- 单车道仓 `repo:*` 席自理机械三务,⛔ 不产 `domain:*`;决策卡入本仓收件箱,不落 objectstack。
77
- 机械三务 = 自扫 sweep、自打 `type`、自做首触(含 `finding`;业务理由归召唤的总监席)。
@@ -28,7 +28,7 @@
2828
- 规则 3:联动杂事立单,不靠记忆。
2929
- 已验收 PR 的产物流向另一仓,接受该 PR 的执行席立即在消费仓立后续单,带 `Blocked-by:`。
3030
- 规则 4:纵向拆分,一个分诊 PM + N 个执行 PM;一人恰一车道,一车道可坐多席。
31-
- 多车道仓:分诊唯一生产定级/路由/type/查重/shadow/`duplicate_of`;执行席永不定级或路由裸卡。
31+
- 多车道仓:分诊唯一生产路由/type/查重/shadow/`duplicate_of`;执行席永不路由裸卡,定级见上。
3232
- 执行座位信任标签,只在本车道认领;误标挂 `pm:retriage`+异议同笔,整树归本席者席改标。
3333
- 突发积压调频率或 `batch`,持续积压按仓拆席走 PR;⛔ 不跨车道借调。
3434
- 维护者直派通道:当面指挥的 PM 会话直接路由,只对明示指挥的卡成立。

‎.claude/skills/pm-dispatch/references/lanes/skills.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
- 额度耗尽豁免的地板是默认判断档,⛔ 不再往下。
2020
- 棘轮逐行付账,⛔ re-wrap 筹行;砍点逐条核幸存,被砍内容若在别处无家,砍掉就是丢规则。
2121
- 首触定级每轮;决策形状 ⇒ 决策箱带四棱块,⛔ 永不自裁。
22-
- 本车道 finding 同走分诊席首触,⛔ 不自分诊;席位可附证据与「仪器为车队服务」的答案。
22+
- 本车道 finding 归分诊首触,自分诊见 `triage-duties.md`;可附证据与「仪器为车队服务」答案。
2323
- 「仪器为车队服务」答不出的 finding ⇒ 席位建议 p3 或不做,⛔ 不自入队;定级归分诊。
2424
- 内部指令面中文,机器判据恒英文;认领前重读全线程;标签写 read-modify-write 加回读。
2525
- QA 波次由维护者手动触发,⛔ 不自启。

‎.claude/skills/pm-dispatch/references/lanes/spec.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
## 常设承诺
2828

29-
- findings 首触定级归分诊席,本席只供证据。
29+
- findings 首触定级归分诊席,本席只供证据;例外见 `triage-duties.md` 车道席自分诊。
3030
- 门禁强制的跨车道 ledger 追加整类预批(`error-code-ledger.zod.ts`),三条全中即免本席签字。
3131
- ①:码的存在已在归属卡裁过;②:兜底不变,条款②路径肢照命中,入队前仍过契约复核。
3232
- ③:纯增量 —— 不动 schema 形状、既有条目与 ledger 机制,只落追加方自己的包分节。

‎.claude/skills/pm-dispatch/references/lanes/ui.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
## 形态
66

77
- 本席是本仓 `ui/` 树的执行座位:在 objectstack 认领、派发、复核、落地。
8-
- ⛔ 不产 `domain:*`、type 与定级,分诊唯一生产;误标 `pm:retriage`+异议同笔,整树归本席除外。
8+
- ⛔ 不产 `domain:*`、type、定级,除 triage-duties 自分诊;误标 `pm:retriage`+异议,整树归本席除外。
99
- 协议恒归 `domain:spec`,新 `packages/spec` 工作同此;跨层功能的 `ui/` 子单归本席。
1010
- 落点不明留分诊首触,⛔ 不猜、不代判。
1111

0 commit comments

Comments
 (0)