diff --git a/.claude/skills/pm-dispatch/references/lanes/triage.md b/.claude/skills/pm-dispatch/references/lanes/triage.md index d5ca9b0fc8f..8a3a18276ef 100644 --- a/.claude/skills/pm-dispatch/references/lanes/triage.md +++ b/.claude/skills/pm-dispatch/references/lanes/triage.md @@ -2,7 +2,14 @@ 见 triage-duties.md;本文是本席的岗位说明,现值状态恒在座位贴,⛔ 不迁入本文。 - 由维护者一句召唤到任一项目,默认同总监席项目;只写标签与审计评论,⛔ 无 PR、无认领。 -- 范围 = objectstack(`ui/` 在内)每张卡首触(业务理由与定级)与跨车道查重;应用仓无分诊席。 - 应用仓业务理由由该项目召唤的总监席复核;第三方应用的总监是其自身维护者。 - 每 fire 最旧优先;最旧未路由超 4h 的卡本轮先清。 - 补半状态前先确认无人在动,读后新现六态属他席即停手;⛔ 不加第二席、不改 fire 频率。 +- 推维护者仅限需其出手,通道照 SKILL.md;⛔ 无进度表与聊天轮报,余只进座位贴轮次记录。 +- 即推:①安全发现(机制只在会话给);②p0 点名升级后一轮仍无认领,或分诊已自派止血; +- ③`main` 或合并队列红逾 2h 且无修复 PR 在飞。余下轮末合为一推,每轮至多一推: +- ④人工地板待裁,点名决策卡与所需一字;⑤新发版阻塞、RC 复测回退、Version PR 只待其合; +- ⑥车道不动:p1 卡在无席车道逾 4h;点名升级逾 6h 无答且回收需其一句;open PR 逾 6h 未更新, + 先敲其席(无信箱按名)过下轮无答且回收需其一句;待裁或被具名 `Blocked-by:`、`status:parked` + 卡、所骑栈阻者与信箱、Version PR 不算。⑦席位或子代理被拒、需人做的动作,⛔ 不代做。 +- 不推:定级、治半状态、解锁、契约复核(PASS/FAIL 归车道)、门铃答复、健康绿读数。 diff --git a/.claude/skills/pm-dispatch/references/triage-duties.md b/.claude/skills/pm-dispatch/references/triage-duties.md index 81ef82f5c70..3303799a5de 100644 --- a/.claude/skills/pm-dispatch/references/triage-duties.md +++ b/.claude/skills/pm-dispatch/references/triage-duties.md @@ -7,8 +7,7 @@ - 查重缓存住席内:新会话全量拉,其后 `since` 增量;⛔ 不建分支、不共享、不依赖备份。 - 每日一 fire 跑两仓全量对账并归集日频职责;选层按 fire 时刻 ⛔ 不用计数器,简报写明层。 - 每条枚举比对返回数与 `totalCount`,不等 ⇒ 报 `sweep INCOMPLETE` 点名缺口,⛔ 永不报干净。 -- 复审:每轮先跑 `check-owed-reviews.mjs`(open PR 含 draft,读交接/认领/hold 行),欠审同轮认领后接。 -- 隔离子代理达档跑同形记录、署本席;本席也被配额拒 ⇒ PR 写一次留标,⛔ 永不降档审。 +- 复审每轮先跑 `check-owed-reviews.mjs`,照 contract-review.md 接;配额拒 ⇒ PR 留标,⛔ 不降档审。 - 每轮比对自审记录 `Head-sha` 与现 head,越过即过期,纯重生成/只动散文面例外(判已提交树)。 - 自审 FAIL 过期 ⇒ 同轮达档重审新 head,逐条复查 must-fix,delta commit 当改动审。 - 自审 PASS 过期 ⇒ PR 记一条 PASS 不再管辖、欠 delta 复审,归本席或新交接行。 @@ -91,12 +90,10 @@ - 不呈:实现细节、不升级类、记账类、p3 排序、CI 重跑、分支清理、patch 依赖、既裁执行。 - 不呈四门同立:无产品可见行为变化、无契约变化、可回滚、有门禁兑底;呈裁卡注判据。 - 例外一:`platform-readings.md` 增量抬上限到落地行数,免决策卡,记 `ruledRaises` 引常设裁决。 -- 例外二:一小时内两次红未触包的门禁,任一席位可先翻 report-only,三条硬条件缺一不可: -- ①只翻 report-only,不删门不跳测;②同笔送待决策汇总入下批,附两红 run;③不同意即翻回。 +- 例外二:AGENTS.md 报告态翻转,须①不删门不跳测;②同笔附两红 run 入下批待决;③否即翻回。 - 条件:席位验收评论逐条核实、去重计数(候选/落地/已有/拒收)、一事一行、不计重排。 - 机械边界测试(条款②判据):改动扩大接受集或公开面 ⇒ 是;拉回已声明契约 ⇒ 否。 - 轮次报告设呈裁清单专节(卡、推荐、所引权威),⛔ 无代裁清单、无追认表。 - 回翻条款:实施中发现契约终究要动 ⇒ dev 停手,卡回决策箱,⛔ 永不静默重裁。 - 请示纪律:方向性授权覆盖整条执行链一并做完,⛔ 不逐项回问。 -- 汇报只在里程碑、真阻塞、被问到时;中间状态与限流/重试类细节只进座位贴和触发器。 -- 人工地板项(发版、天花板、契约扩大)仍需明确字句,但攒批不逐项弹。 +- 推送维护者只照 `lanes/triage.md` 推送清单;中间状态与限流/重试细节只进座位贴和触发器。 diff --git a/scripts/pm/check-skill-line-ratchet.mjs b/scripts/pm/check-skill-line-ratchet.mjs index 064283880e5..a25cee524cb 100644 --- a/scripts/pm/check-skill-line-ratchet.mjs +++ b/scripts/pm/check-skill-line-ratchet.mjs @@ -1309,7 +1309,11 @@ export const CEILINGS = new Map([ // same convention (lowering is always legitimate). // Lowered 103 → 102 when the whole-card cloud route (PR #26749) merged with // main's cloud-involvement lines; landed count, headroom 0, same convention. - ['.claude/skills/pm-dispatch/references/triage-duties.md', 102], + // Lowered 102 → 99 by the triage push-list card (#28921): lines 10-11 and + // 94-95 each merged after deleting what contract-review.md and AGENTS.md + // already state, and the reporting pair 101-102 replaced by one pointer to the + // push list in lanes/triage.md. Landed count, headroom 0, same convention. + ['.claude/skills/pm-dispatch/references/triage-duties.md', 99], // execution-duties.md, raised 183 → 185 by the split-off-card ruling — an // ORDINARY raise, ⛔ not a cross-file move (card #23579). The text is two rule // lines beside the derived-sub-issue rules in 〈候选与批次〉: a queued card found @@ -1496,7 +1500,20 @@ export const CEILINGS = new Map([ // 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], + // 8 → 15 by the triage push-list card (#28921). Ruling of record: the card + // body's maintainer words, verbatim and untranslated, 「由分诊每天出一次中文进度 + // 表,频率太低,而且有问题的时候要找我,没问题我也不需要看」, 「需要我协助的时候你 + // 应该推送消息给我 os-zhuang,但是需要和我沟通哪些情况下」 and 「立卡」 on the push + // list (「同意推送清单,立卡?」) whose card names this file, plus the addendum + // comment 6568980556 「pr 超过 6小时没更新,如果不是带决策或者是被阻塞,应该都属于 + // 有问题吧」. The text is the push list: + // no progress table, the seven cases split at-once / end-of-round, one push per + // round, the 6 h stale-PR case and the not-pushed list. Eight lines landed, one + // paid in place (the scope line, which cross-repo-coordination.md states for + // the same reader), so the measured delta is +7; triage-duties.md fell 102 → 99 + // in the same PR, net +4 over both. Not a CROSS_FILE_MOVES destination, so no + // `ruledRaises` record applies. Landed count, headroom 0, same convention. + ['.claude/skills/pm-dispatch/references/lanes/triage.md', 15], // 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.