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
[finding] The director charter has no split-seat provision — on 2026-09-06 two director summons ran concurrently, duties divided by maintainer instruction rather than by any written rule #16172
Filed by the director seat (summon #16, session_01Qgk9RnMDLdpz4U8GGRSvHG, GitHub os-steve) as a finding for the domain:skills lane, per the shift-report rule that a missing principle goes to that lane as a finding. ⛔ No domain:* set — that is the skills seat's own triage (findings in that lane self-triage). ⛔ Not dispatchable as filed; the skills seat grades it.
What happened (measured on the seat post, objectstack #12708)
At 2026-09-06T03:34Z the maintainer opened a second session with /pm-dispatch director 「项目总监开始决裁」. That session (summon [WIP] Update action workflow steps for better execution #16) read the mutex and, finding no closing brief and a live incumbent, asked the maintainer; the answer was 「已结束,我接管开第 16 场」.
.claude/skills/pm-dispatch/references/lanes/director.md and the SKILL.md 〈入口与角色〉 mutex rules describe exactly one occupant per seat: the four readings, the closing brief as the release, 「维护者明示召唤是仲裁:有简报径直坐席;无简报才走保守确认,确认终止即坐席」. Nothing says what a seat does when arbitration produces a split rather than a takeover:
which of the four duties each session owns, and where that is written so the other session (and the next one) can read it — today it lives in one session's opening marker and the other session's batch comment;
the seat post's single-occupant fields (当前 PM 三元, title state word 🟢 <login>, assignee) — whether they carry two occupants or one;
the write-surface fence between the two — this summon fenced itself off every needs:contract-review carrier and every landing the incumbent lists, but that is this summon's judgement, not a rule;
the closing order — whether a duty subset closes with its own brief, and which brief releases the seat.
The 一座位一车道双射 invariant (「域 X 谁管、PM Y 管什么,各恰好一个答案」) is what this violates on its face; the charter's own remedy for load, 拆席 (「车道可按仓分席」), is written for domain:* lanes by repo, not for the director's four duties.
What is asked
The skills seat decides between (a) a one-paragraph split-seat provision in director.md (a second summons declares its duty subset in its opening marker, edits only its own block of the seat post, and touches nothing the incumbent's latest ledger lists as in flight; each subset closes with its own brief; the seat is released when no block remains), or (b) a rule that the director seat is never split and a second summons must wait for the incumbent's brief or the maintainer's explicit stand-down of the incumbent. ⛔ This card recommends neither; both are consistent with what the maintainer did today, and the choice is a principle, not a patch.
Governing text: .claude/skills/pm-dispatch/references/lanes/director.md 〈授权与形态〉 (双射 carve-out, one seat post) and SKILL.md 〈入口与角色〉 (mutex readings, arbitration line). Dedupe: search_issues for the split-seat shape returned only the closed charter card #12661; the control query for #15929 hit, so the empty result is a reading.
Filed by the director seat (summon #16,
session_01Qgk9RnMDLdpz4U8GGRSvHG, GitHubos-steve) as afindingfor thedomain:skillslane, per the shift-report rule that a missing principle goes to that lane as a finding. ⛔ Nodomain:*set — that is the skills seat's own triage (findings in that lane self-triage). ⛔ Not dispatchable as filed; the skills seat grades it.What happened (measured on the seat post, objectstack #12708)
session_01TezFG8ZMrNH6n5VTNpPpdH,os-zhuang) was seated 2026-09-05T10:33Z and was still producing at 2026-09-06T03:48Z (contract-review batch Migrate from npm to pnpm #6, comment 5556716642). No closing brief exists./pm-dispatch director「项目总监开始决裁」. That session (summon [WIP] Update action workflow steps for better execution #16) read the mutex and, finding no closing brief and a live incumbent, asked the maintainer; the answer was 「已结束,我接管开第 16 场」.The gap
.claude/skills/pm-dispatch/references/lanes/director.mdand the SKILL.md 〈入口与角色〉 mutex rules describe exactly one occupant per seat: the four readings, the closing brief as the release, 「维护者明示召唤是仲裁:有简报径直坐席;无简报才走保守确认,确认终止即坐席」. Nothing says what a seat does when arbitration produces a split rather than a takeover:当前 PM三元, title state word🟢 <login>, assignee) — whether they carry two occupants or one;needs:contract-reviewcarrier and every landing the incumbent lists, but that is this summon's judgement, not a rule;The 一座位一车道双射 invariant (「域 X 谁管、PM Y 管什么,各恰好一个答案」) is what this violates on its face; the charter's own remedy for load, 拆席 (「车道可按仓分席」), is written for
domain:*lanes by repo, not for the director's four duties.What is asked
The skills seat decides between (a) a one-paragraph split-seat provision in
director.md(a second summons declares its duty subset in its opening marker, edits only its own block of the seat post, and touches nothing the incumbent's latest ledger lists as in flight; each subset closes with its own brief; the seat is released when no block remains), or (b) a rule that the director seat is never split and a second summons must wait for the incumbent's brief or the maintainer's explicit stand-down of the incumbent. ⛔ This card recommends neither; both are consistent with what the maintainer did today, and the choice is a principle, not a patch.Governing text:
.claude/skills/pm-dispatch/references/lanes/director.md〈授权与形态〉 (双射 carve-out, one seat post) and SKILL.md 〈入口与角色〉 (mutex readings, arbitration line). Dedupe:search_issuesfor the split-seat shape returned only the closed charter card #12661; the control query for #15929 hit, so the empty result is a reading.Generated by Claude Code