From 32945f93f16ed7dc2785b3ae8e11c0f073a397f5 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 5 Sep 2026 16:15:47 +0000 Subject: [PATCH] docs(pm): add the triage seat's lane reference and its ratchet rows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The triage seat had no file under `references/lanes/`: its standing duties live in SKILL.md 〈分诊座位职责〉, which sits at its ceiling. This adds the seat's own lane reference, holding today only the ruled pickup discipline — one repo per fire alternating between the two multi-lane repos, oldest-first inside a repo, the 4-hour starvation guard, and the two prohibitions (no fallback to a global oldest-first across repos, no second triage seat and no fire-frequency change for backlog). The ratchet gains the new file's two rows: `CEILINGS` at the landed line count read from the gate's own run (7 lines, headroom 0, the map's convention for a new file) and `MAX_TABLE_ROW_BYTES` at 0, the file carrying no table row. No other row of either map moves and no other instruction file is touched. Claude-Session: https://claude.ai/code/session_019RfFHiRCSs3JXLK4cwcfox Co-authored-by: Claude --- .claude/skills/pm-dispatch/references/lanes/triage.md | 7 +++++++ scripts/pm/check-skill-line-ratchet.mjs | 8 ++++++++ 2 files changed, 15 insertions(+) create mode 100644 .claude/skills/pm-dispatch/references/lanes/triage.md diff --git a/.claude/skills/pm-dispatch/references/lanes/triage.md b/.claude/skills/pm-dispatch/references/lanes/triage.md new file mode 100644 index 0000000000..b2e2947cd7 --- /dev/null +++ b/.claude/skills/pm-dispatch/references/lanes/triage.md @@ -0,0 +1,7 @@ +# 席位章程:分诊席(Triage) + +见 SKILL.md 〈分诊座位职责〉;本文是本席的岗位说明,现值状态恒在座位贴,⛔ 不迁入本文。 + +- 分诊每 fire 只取一个仓,两仓轮替:objectstack、objectui、objectstack……;仓内按最旧优先。 +- 饥饿守卫:轮次开始时任一仓最旧未路由卡超过 4 小时,该仓本轮优先,不论轮到谁。 +- ⛔ 不回退到跨仓全局最旧优先;⛔ 不因积压增设第二分诊席或改 fire 频率。 diff --git a/scripts/pm/check-skill-line-ratchet.mjs b/scripts/pm/check-skill-line-ratchet.mjs index 6988ca3ab5..fbeb9bfb93 100644 --- a/scripts/pm/check-skill-line-ratchet.mjs +++ b/scripts/pm/check-skill-line-ratchet.mjs @@ -732,6 +732,13 @@ export const CEILINGS = new Map([ // ruling citations and incident narrative left; every rule stayed. Landed count, // headroom 0, same convention (lowering is always legitimate). ['.claude/skills/pm-dispatch/references/lanes/director.md', 72], + // 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], // 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. @@ -1037,6 +1044,7 @@ export const MAX_TABLE_ROW_BYTES = new Map([ ['.claude/skills/pm-dispatch/references/lanes/spec.md', 0], ['.claude/skills/pm-dispatch/references/lanes/hotcrm.md', 0], ['.claude/skills/pm-dispatch/references/lanes/director.md', 0], + ['.claude/skills/pm-dispatch/references/lanes/triage.md', 0], ['.claude/agents/os-dev.md', 0], ['.claude/skills/checklist-test/SKILL.md', 221], ['.claude/skills/checklist-author/SKILL.md', 0],