You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PM protocol: SKILL.md 819 → ≈300 lines of principle (red lines · state model · entry · index), the dispatch / review / landing detail relocated into per-phase references, and core-rules.md retired as a duplicate (maintainer direct dispatch, batch #213 item 4) #19716
③ 直派任务 — maintainer direct dispatch, filed by the director seat (summon #27, session_0129ZpnaBcYZZ51rCvQiXg6C). domain:skills · tooling (the PM loop's own protocol). Takes the lane's pick order first as a 直派插队卡, ⛔ but only after the serial constraint below clears.
Re-pointed 2026-09-23T05:40Z (director seat): PR #19737 (#19061 step ③) MERGED at 2026-09-23T05:06Z as 628e55dfa — the SKILL.md :76 / dispatch-runbook.md :161 / lanes/director.md collision the serial constraint named is on origin/main; the former Blocked-by: #19061 / Unlock-action: re-check #19061 when label pm:dispatched absent lines are retired and the card returns to pm:queue as the lane's 直派插队卡. ⛔ One file stays another card's: references/contract-review.md :13 / :19 (the --template pointers) belong to #19061step ④ (claim 5789522248, branch claude/issue-19061-step4-record-recognisers-module, scripts/pm/** + those two lines) — the dev leaves them untouched and rebases if step ④ lands first.
Re-pointed 2026-09-22T15:12Z: PR #19694 (step ②) merged at 2026-09-22T13:03Z as 7e0bfce40, but #19061 step ③ (claim 5778141422, skills seat 1, 2026-09-22T14:16Z) declares SKILL.md :76, dispatch-runbook.md :161 and lanes/director.md among its riders — the same collision the serial constraint below names; the former Unlock-action: re-check PR #19694 line is retired.
Provenance (who / verbatim / where): the maintainer, chat with the director seat, 2026-09-22, answering decision batch #213 — 「1 2 4 同意」. Item 4 as presented: 「协议主文 819 → 约 300 行(红线 + 状态模型 + 入口 + 索引),派发 / 复核 / 入队细则各成一份按阶段读的 reference;同时删 core-rules.md 双份」. Standing directions it serves: 「更新你的技能」 (batch #211 standing rulings on #19647) and the maintainer's repeated 「淡化门禁 / 创业阶段不扩散」.
.claude/skills/pm-dispatch/SKILL.md: 819 lines / 76.7 KB, 201 「⛔」 lines (≈ one per four lines). references/core-rules.md: 151 lines, self-described at SKILL.md:43 as 「本文的子集」 with the rule 「一条规则在本文与核心条款一处改动,另一处同 PR 同改」 — a maintained duplicate. references/*.md + references/lanes/*.md: 1,590 + 360 lines. An execution seat's first read per fire ≈ SKILL.md + core-rules + its lane file + AGENTS.md ≈ 178 KB.
Industry reading (director's comparison, 2026-09-22): peer fleets run on one short readiness/conventions page plus per-repo instructions; the length here is the cost of every seat re-reading detail it does not need on that fire.
Relocation, not deletion, and no semantic change. Every rule line of today's SKILL.md ends up in exactly one place: SKILL.md if it is principle (红线, 优先级, 入口与角色 with its args table, 状态模型 table, 全体座位的不变量, 域车道 table, the four-axis block in 升级与决策 — the single copy check:skill-frame-sync guards — 机械守卫索引, 模板与表), or one per-phase reference otherwise (suggested shape: references/seat-lifecycle.md for 开轮互斥 / 座位贴 / 收班, references/triage-duties.md, references/execution-duties.md for 候选 / 认领 / 派发 / 收集 / 复核, and the existing landing-operations.md absorbing 入队与落地; the dev may choose different file names and says why). Proof in the PR body: the count of 「⛔」 lines across SKILL.md + references/** before == after, and a table mapping each moved section to its destination.
SKILL.md lands at ≈ 300 lines (a ceiling of 340); scripts/pm/check-skill-line-ratchet.mjs's ceiling for it is lowered to the landed count in the same PR (降恒合法, no maintainer citation needed for a decrease).
references/core-rules.md is deleted. Every pointer to it is retargeted or removed: SKILL.md:43 and :89, references/lanes/director.md, scripts/pm/git-history.mjs's 三章程 touch list, and whatever git grep -n core-rules finds on the head. Where a rule reads differently in the two files, SKILL.md's wording wins (core-rules is the declared subset).
Each phase reference opens with one line saying which seat reads it on which fire, so a seat loads only its phase.
⛔ No new rule, ⛔ no rule dropped, ⛔ no gate, hook, ratchet or roster added (新增门禁默认否); ⛔ no change to os-dev.md, AGENTS.md, skills/**. check:pm-skill-ratchet, check:pm-skill-id-lint, check:skill-frame-sync, check:skill-frame-freshness, check:pm-governed-prose green on the head.
Clause-②: no. Tier S (.claude/**): built at CONTRACT_REVIEW_TIER (强制条款① — the protocol semantic surface), landed by the skills seat after an in-seat at-tier ## Contract review PASS through the queue; skip-changeset. One PR, Fixes this card.
③ 直派任务 — maintainer direct dispatch, filed by the director seat (summon #27,
session_0129ZpnaBcYZZ51rCvQiXg6C).domain:skills·tooling(the PM loop's own protocol). Takes the lane's pick order first as a 直派插队卡, ⛔ but only after the serial constraint below clears.Re-pointed 2026-09-23T05:40Z (director seat): PR #19737 (#19061 step ③) MERGED at 2026-09-23T05:06Z as
628e55dfa— theSKILL.md:76 /dispatch-runbook.md:161 /lanes/director.mdcollision the serial constraint named is onorigin/main; the formerBlocked-by: #19061/Unlock-action: re-check #19061 when label pm:dispatched absentlines are retired and the card returns topm:queueas the lane's 直派插队卡. ⛔ One file stays another card's:references/contract-review.md:13 / :19 (the--templatepointers) belong to #19061 step ④ (claim 5789522248, branchclaude/issue-19061-step4-record-recognisers-module,scripts/pm/**+ those two lines) — the dev leaves them untouched and rebases if step ④ lands first.Re-pointed 2026-09-22T15:12Z: PR #19694 (step ②) merged at 2026-09-22T13:03Z as
7e0bfce40, but #19061 step ③ (claim 5778141422, skills seat 1, 2026-09-22T14:16Z) declaresSKILL.md:76,dispatch-runbook.md:161 andlanes/director.mdamong its riders — the same collision the serial constraint below names; the formerUnlock-action: re-check PR #19694line is retired.Provenance (who / verbatim / where): the maintainer, chat with the director seat, 2026-09-22, answering decision batch #213 — 「1 2 4 同意」. Item 4 as presented: 「协议主文 819 → 约 300 行(红线 + 状态模型 + 入口 + 索引),派发 / 复核 / 入队细则各成一份按阶段读的 reference;同时删 core-rules.md 双份」. Standing directions it serves: 「更新你的技能」 (batch #211 standing rulings on #19647) and the maintainer's repeated 「淡化门禁 / 创业阶段不扩散」.
Readings (director seat,
origin/main40626bdca6, 2026-09-22T10:3xZ).claude/skills/pm-dispatch/SKILL.md: 819 lines / 76.7 KB, 201 「⛔」 lines (≈ one per four lines).references/core-rules.md: 151 lines, self-described atSKILL.md:43as 「本文的子集」 with the rule 「一条规则在本文与核心条款一处改动,另一处同 PR 同改」 — a maintained duplicate.references/*.md+references/lanes/*.md: 1,590 + 360 lines. An execution seat's first read per fire ≈ SKILL.md + core-rules + its lane file + AGENTS.md ≈ 178 KB.Part of #19061step ②, skills seat, draft) touchesSKILL.md,references/contract-review.md,references/core-rules.md,references/platform-readings.md— the same files. ⛔ This card starts only after PR pm(skills): retire the clause-② gate text — label hang/clear, --pair, double carrier, independence requirement (step ②) #19694 is onorigin/main(theUnlock-action:line above); a dev who starts earlier will collide.Ruled shape — ⛔ not open for re-design
SKILL.mdends up in exactly one place:SKILL.mdif it is principle (红线, 优先级, 入口与角色 with its args table, 状态模型 table, 全体座位的不变量, 域车道 table, the four-axis block in 升级与决策 — the single copycheck:skill-frame-syncguards — 机械守卫索引, 模板与表), or one per-phase reference otherwise (suggested shape:references/seat-lifecycle.mdfor 开轮互斥 / 座位贴 / 收班,references/triage-duties.md,references/execution-duties.mdfor 候选 / 认领 / 派发 / 收集 / 复核, and the existinglanding-operations.mdabsorbing 入队与落地; the dev may choose different file names and says why). Proof in the PR body: the count of 「⛔」 lines acrossSKILL.md+references/**before == after, and a table mapping each moved section to its destination.SKILL.mdlands at ≈ 300 lines (a ceiling of 340);scripts/pm/check-skill-line-ratchet.mjs's ceiling for it is lowered to the landed count in the same PR (降恒合法, no maintainer citation needed for a decrease).references/core-rules.mdis deleted. Every pointer to it is retargeted or removed:SKILL.md:43and:89,references/lanes/director.md,scripts/pm/git-history.mjs's 三章程touchlist, and whatevergit grep -n core-rulesfinds on the head. Where a rule reads differently in the two files,SKILL.md's wording wins (core-rules is the declared subset).os-dev.md,AGENTS.md,skills/**.check:pm-skill-ratchet,check:pm-skill-id-lint,check:skill-frame-sync,check:skill-frame-freshness,check:pm-governed-prosegreen on the head.Clause-②: no. Tier S (.claude/**): built atCONTRACT_REVIEW_TIER(强制条款① — the protocol semantic surface), landed by the skills seat after an in-seat at-tier## Contract reviewPASS through the queue;skip-changeset. One PR,Fixesthis card.Dedupe
SKILL.md 819 lines principle only·core-rules.md duplicate delete·per-phase references pm-dispatch·skill line ratchet lower·batch #213 item 4Generated by Claude Code