From 9ebb01000ceb9e0160dbb6fab6faec99d78a0d94 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 24 Oct 2026 03:08:14 +0000 Subject: [PATCH] docs(pm-dispatch): an app repo's business rationale is reviewed by the director seat its project summons; an app's director is its own maintainer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ruling D of director batch #10 (comment 6378083450): lanes/director.md gains the duty line, lanes/triage.md the sentence after 「应用仓无分诊席」, and cross-repo-coordination.md's 机械三务 line hands the business rationale to the summoned director seat. Ceilings director.md 87 → 88 and triage.md 7 → 8 cite that ruling; the director.md raise is recorded as a ruledRaises entry on its cross-file move. Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01REMuzhz6MWRjg8uohedMnM --- .../references/cross-repo-coordination.md | 2 +- .../pm-dispatch/references/lanes/director.md | 1 + .../pm-dispatch/references/lanes/triage.md | 1 + scripts/pm/check-skill-line-ratchet.mjs | 23 +++++++++++++++++-- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/.claude/skills/pm-dispatch/references/cross-repo-coordination.md b/.claude/skills/pm-dispatch/references/cross-repo-coordination.md index 7b2aed9c1d1..1d433d97853 100644 --- a/.claude/skills/pm-dispatch/references/cross-repo-coordination.md +++ b/.claude/skills/pm-dispatch/references/cross-repo-coordination.md @@ -7,7 +7,7 @@ - 多车道仓 `objectstack`、`objectui`:中央分诊是 `domain:*`/type/定级的唯一生产者。 - 单车道仓 `cloud`、`objectos`、`hotcrm`、`www.objectos.ai`;未来新仓默认此类。 - 单车道仓 `repo:*` 席自理机械三务,⛔ 不产 `domain:*`;决策卡入本仓收件箱,不落 objectstack。 -- 机械三务 = 自扫 sweep、自打 `type`、自做首触(含 `finding` 与业务理由,判据评论同分诊)。 +- 机械三务 = 自扫 sweep、自打 `type`、自做首触(含 `finding`;业务理由归召唤的总监席)。 - 新仓登记是一张清单:座位贴、标签、类别归属、门禁盘点、写身份锁移植(deny + hooks)。 - 新仓三件:加入 `GOVERNED_REPOS`、安装车队 App、写 `lanes/.md` 宪章;应用仓无分诊席。 - 新仓准入只问一句:真需要常设席位吗;hotcrm 宪章见 `references/lanes/hotcrm.md`。 diff --git a/.claude/skills/pm-dispatch/references/lanes/director.md b/.claude/skills/pm-dispatch/references/lanes/director.md index fd38fd28111..bf920bf22e3 100644 --- a/.claude/skills/pm-dispatch/references/lanes/director.md +++ b/.claude/skills/pm-dispatch/references/lanes/director.md @@ -21,6 +21,7 @@ - 项目内卡线程报 `needs_decision` ⇒ 席位写四维分析加推荐,并入决裁批次呈维护者人工裁。 - 维护者令「必须人工决裁」撤销「有把握自己决定」;⛔ 无裁决线程、代裁、置信门。 - 分诊席默认与本席同项目召唤,小时轮可与收件箱扫描共用一轮;职责见 `triage.md`。 +- 应用仓召唤本席复核卡的业务理由首触,三出口同分诊;没把握 ⇒ 报该应用的总监(人)裁。 ## 基本原则 diff --git a/.claude/skills/pm-dispatch/references/lanes/triage.md b/.claude/skills/pm-dispatch/references/lanes/triage.md index 1724c805550..2a516466688 100644 --- a/.claude/skills/pm-dispatch/references/lanes/triage.md +++ b/.claude/skills/pm-dispatch/references/lanes/triage.md @@ -3,5 +3,6 @@ - 由维护者一句召唤到任一项目,默认同总监席项目;只写标签与审计评论,⛔ 无 PR、无认领。 - 范围 = objectstack、objectui 每张卡首触(业务理由与定级)与跨车道查重;应用仓无分诊席。 +- 应用仓业务理由由该项目召唤的总监席复核;第三方应用的总监是其自身维护者。 - 每 fire 只取一个仓,两仓轮替、仓内最旧优先;最旧未路由超 4h 的仓本轮优先。 - 补半状态前先确认无人在动,读后新现六态属他席即停手;⛔ 不加第二席、不改 fire 频率。 diff --git a/scripts/pm/check-skill-line-ratchet.mjs b/scripts/pm/check-skill-line-ratchet.mjs index 19184e57a40..71189b99ff1 100644 --- a/scripts/pm/check-skill-line-ratchet.mjs +++ b/scripts/pm/check-skill-line-ratchet.mjs @@ -1452,14 +1452,23 @@ export const CEILINGS = new Map([ // daily digest, the thin-triage pairing and the roster pointer the same word // ordered; +17 against a net source decrease of 17. Landed count, headroom 0, // same convention. - ['.claude/skills/pm-dispatch/references/lanes/director.md', 87], + // 87 → 88 (#25558): ruling D of director batch #10, comment 6378083450 — + // maintainer 「#25558 记为 D」 (2026-10-24), adopting the record's workload + // 「`lanes/director.md` 职责行」: the seat an app project summons reviews that + // repo's business-rationale first touch. Measured +1, ceiling moved by +1; + // recorded under the move below as a `ruledRaises` record. + ['.claude/skills/pm-dispatch/references/lanes/director.md', 88], // Triage seat charter (maintainer ruling: the triage seat stays single; pickup // alternates between the two multi-lane repos, oldest-first inside a repo, with a // 4-hour starvation guard). A seat charter is read per seat session like every // entry above. Set at the landed line count read from this ratchet's own run // (headroom 0, same convention as above); it is a NEW file, so this is an added // row and no other row moves. - ['.claude/skills/pm-dispatch/references/lanes/triage.md', 7], + // 7 → 8 (#25558): ruling D of director batch #10, comment 6378083450 — + // maintainer 「#25558 记为 D」 (2026-10-24), adopting the record's workload + // 「`lanes/triage.md`「应用仓无分诊席」之后补「应用仓业务理由由该项目召唤的 + // 总监席复核;第三方应用的总监是其自身维护者」」. Measured +1, ceiling +1. + ['.claude/skills/pm-dispatch/references/lanes/triage.md', 8], // 399 → 405 (#11126): maintainer-ruled (2026-08-23, option B, quoted in that // PR) — the +6-line cross-repo dispatch-gates caveat, sized so the queued // #11137 (395→399 on main) and this PR's +6 compose to exactly 405. @@ -2100,6 +2109,16 @@ export const CROSS_FILE_MOVES = new Map([ ruling: 'the triage daily duties (release board, pin chain, decision-inbox duties) consolidated into the 总监席 charter on the maintainer\'s word of 2026-10-23 「分诊不忙不如留给总监管」, under the cross-file move authorised by #14685 item 5 (comment 5520452691)', was: 70, sources: [['.claude/skills/pm-dispatch/references/triage-duties.md', 120]], + ruledRaises: [ + { + ruling: + 'the app-repo business-rationale duty line on `.claude/skills/pm-dispatch/references/lanes/director.md`' + + ' — ruling D of director batch #10, comment 6378083450, maintainer verbatim and untranslated:' + + ' 「#25558 记为 D」, adopting the record\'s workload 「`lanes/director.md` 职责行」.', + date: '2026-10-24', + delta: 1, + }, + ], }, ], ]);