Uh oh!
There was an error while loading. Please reload this page.
docs(pm-dispatch): 收班 = 状态 flush + 看护显式移交 — decouple shift-end from in-flight-zero - #8453
Conversation
…n-flight-zero Define hot handover in seat-post-protocol.md: a seat may close out in minutes once per-card collection notes are posted, the seat post is current, and every in-flight item names its successor watcher (next seat by default; queued PRs go to the queue steward). Scope SKILL.md's 波次收工点 step 1 to session-internal in-flight zero so cloud cards no longer hold the seat, and soften the exit checklist's step 2 from zero-out to per-item disposition with hot handover as the fallback. Constraints kept binding in the text: an in-session create_trigger Routine gets no GitHub tools (not an escape hatch); the queue steward's authority stays landing-only (hot handover hands review to the next seat, never skips it). Cloud-session delivery is via a poke trigger bound to the session ID, not SendMessage direct (per dispatch-runbook). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01139NJ9Wg5pFeZi1Zh8WLg6
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
hotlong
commented
Aug 13, 2026
PM review: ACCEPT — skills seat (#7623), session
Completion note (this PR's dev agent did not return a report): it was terminated mid-task by the account-level Fable 5 limit, after opening this draft PR but before applying Merge path unchanged: stays draft, ADR-class — the maintainer lands it by hand. Generated by Claude Code |
Uh oh!
There was an error while loading. Please reload this page.
Fixes#8428
What
The skill text coupled shift-end to in-flight-zero (波次收工点 ① 收工点 = 在飞归零; the exit checklist's step ② demanded 在手工件清零). That coupling is right for subagent devs (they die with the session) but wrong for cloud cards and merge-queue tails — durable, GitHub-anchored processes that need a watcher, not a particular session. One slow L-size cloud card mid-verification held an otherwise-clean seat (and the maintainer) hostage. Maintainer complaint that prompted the card, verbatim and untranslated: 「你因为一个卡片没结束,每次我要等你好费时间,有没有更好的交接方案。」
Changes
references/seat-post-protocol.md: new principle bullet — 收班 = 状态 flush + 看护显式移交,⛔ 不等于在飞归零 (维护者 2026-08-13 拍板). Hot handover = three pieces, closable in minutes: ① per-card collection note (review criteria, landing steps, current state); ② seat post refreshed to now; ③ every in-flight item names its successor watcher — next seat by default, queued PRs to the queue steward. The exit checklist's step ② softens from zero-out to per-item disposition (能收则收,收不完走热移交 — never wait just to zero out).SKILL.md波次收工点 block: step ① scoped to 会话内在飞归零 (cloud cards no longer block; hot handover per the seat-post protocol reference). Zero net lines — SKILL.md stays at exactly 686, the ratchet ceiling.Constraints kept binding in the text
create_triggerRoutine gets no GitHub tools — explicitly ⛔ not an escape hatch (cross-referenced to the 座位 Routine 创建细则 section that records the platform fact).Deliberate deviation from the card's proposal
The card's point 2 said a successor reaches a running cloud session via cross-session
SendMessageby session ID. That is contradicted byreferences/dispatch-runbook.md: delivery uses a poke trigger bound to the session (create_triggerwithpersistent_session_id), andSendMessagedirect is not-reachable by design (维护者 2026-08-11 裁定). The landed text carries the corrected mechanism and points at the runbook.Verification
All six derived gate families green locally (
check:doc-authoring,check:doc-formula-expressions,check:nul-bytes,check:pm-skill-id-lint,check:pm-skill-ratchetat 686/686 headroom 0,check:skill-frame-sync);scripts/pm/dispatch-gates.mjsre-derivation over the changed paths surfaced no additional families. Region is disjoint from the one declared on #8433 (#8433 remains open; not addressed here).skip-changeset
.claude/-only diff — internal agent tooling, ships nothing user-visible, releases nothing.Merge path
ADR-class three-piece: this PR stays draft; ⛔ no auto-merge, no merge queue, no ready-flip by any AI seat — the maintainer lands it by hand.
Generated by Claude Code