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
[Decision] A claimed card follows through to MERGED; cross-lane surfaces import the review instead of exporting the card; in-scope derived work and unclaimed blockers stay with the claiming seat (maintainer question after #17718, 2026-09-13) #17942
Filed by the domain:skills seat (session session_01DAcomhvR9kKizeYgg89Vo8, GitHub os-project-manager) at 2026-09-13T07:17Z, as the carrier for a ruling the maintainer asked for live in this seat's chat (2026-09-13T06:5xZ–07:1xZ). ⛔ Not dispatched: the charter change lands in this lane once ruled (SKILL.md 〈多仓协调〉/〈认领〉/〈状态模型〉, references/core-rules.md, references/contract-review.md, references/dispatch-runbook.md, references/state-machine.md; governed, maintainer hand-merge).
maintainer direct dispatch: cli seat drives it to merge, contract review by a fable agent
total ~37 h idle for a green PR
Same family this week: #17849 (spec half of #17323) has carried no domain:* since 2026-09-12T12:41Z (three triage windows); #17905 measured a 9-hour knock loss on a cross-lane review request. In this lane today, three cards (#17374 second half, #17569 rider, #17798) wait on devx PR #17803, itself awaiting the maintainer's hand merge.
Question 1 — who finishes a card that was dispatched into a surface another lane owns
A (recommended) — 认领即跟到底: the claiming seat owns the card to MERGED. A cross-lane surface discovered after dispatch (packages/spec included) does NOT move the card: the seat imports the review — an isolated contract-review-tier reviewer subagent (the feat(spec): export SEED_WRITE_EXECUTION_CONTEXT and bind all three seeders to it #17718 precedent), record carrying Implemented-by: / Reviewed-by: so a self-review is machine-visible; governed paths still park at the human terminal. pm:retriage re-routing applies to undispatched cards only. The spec seat remains the sole intake for NEW packages/spec work (triage routing unchanged). Charter cost: two or three lines across SKILL.md, core-rules.md, contract-review.md, dispatch-runbook.md, paid by density.
Question 2 — derived work and blockers of a card being followed through
class
test
disposition (recommended)
in-scope derived work
the card's acceptance cannot pass without it (三分判据 first class)
folds in: a sub-issue under the parent; the claiming seat owns the subtree automatically (no return to the pool); priority inherits from the parent; driven to MERGED by the same seat — the epic model generalised to any dispatched card
blocker (Blocked-by: target)
unclaimed vs already in flight
unclaimed ⇒ the blocked seat claims and does it, any size (the S-level cap of 「简单阻塞项」 lifted), contract surfaces by A's imported review; in flight elsewhere ⇒ wait, pm:blocking ranks it first in that lane, the waiter is written on the blocker card; p0/p1 parents propagate priority down the chain
incidental finding
unrelated to acceptance
does not fold: an independent card back to the pool (scope creep otherwise)
Two boundaries either way: one card = one PR (queue and review granularity kept; a trunk branch per AGENTS.md is the multi-card form); the spec seat keeps the intake of new packages/spec work.
Filed by the
domain:skillsseat (sessionsession_01DAcomhvR9kKizeYgg89Vo8, GitHubos-project-manager) at 2026-09-13T07:17Z, as the carrier for a ruling the maintainer asked for live in this seat's chat (2026-09-13T06:5xZ–07:1xZ). ⛔ Not dispatched: the charter change lands in this lane once ruled (SKILL.md〈多仓协调〉/〈认领〉/〈状态模型〉,references/core-rules.md,references/contract-review.md,references/dispatch-runbook.md,references/state-machine.md; governed, maintainer hand-merge).The maintainer's words (verbatim, untranslated)
Per-card precedent already given on #17178 (2026-09-13T06:5xZ, quoted on comment 5651809638): 「17718 你直接跟进到合并。如果需要契约复审你可以派 fable」.
Governing text
SKILL.md〈多仓协调〉: 「凡触packages/spec一律转domain:spec座位,不论谁需要它。」 · 「跨座位转移:工作跨座位线,PM 永不跨(唯一豁免:简单阻塞项直接接手)。」SKILL.md〈状态模型〉pm:retriagerow: 「向分诊提问(改判、跨域 PR 指定车道、改路由、拆卡、裁 dev 报告留下的分叉)」; 〈域车道〉: 「跨域例外路径:拆不动的跨域单 PR 由分诊席指定一个车道 PM 认领,认领评论申报文件面。」references/contract-review.md〈复核归属与资格〉: 「spec 席审低档实现者的契约增量,非自身产物;余席条款②复核 = 默认判断档自审加门禁。」 · 「独立性件,spec 席:契约判断真分叉或 dev 挂旗 ⇒ 起上下文隔离的达档复核子代理。」references/dispatch-runbook.md〈跨车道简单阻塞项直接接手〉: 「只覆盖等一周与做十分钟的形状。」 · 「packages/spec恒归 spec 座位,本条不豁免:唯一所有者规则更硬。」references/state-machine.md: 「释放者 = 让卡离手的席位:行首Release:(会话/因/去向)与清 assignee 同笔;下一任重新认领。」SKILL.md〈Epic 子树车道〉: 「衍生问题三分,判据:不修它 epic 验收过不过得去;in-scope ⇒ 挂父单 sub-issue 下轮自动入队。」 (the subtree model already exists for epics).Prior rulings read: 「凡触 packages/spec」 · 「跨座位转移」 · 「简单阻塞项」 · 「Release:」 → the five texts above; no ADR governs PM lane ownership;
noneindocs/adr/**forpm:retriage(control:ADR-0087hits 1 file there).Measured instance — #17178 / PR #17718 (all stamps from the card and PR)
packages/spec⇒pm:retriagedomain:cli→domain:spec, assignee left (「分诊不重指派」)pm:queue, assignee cleared)fableagentSame family this week: #17849 (spec half of #17323) has carried no
domain:*since 2026-09-12T12:41Z (three triage windows); #17905 measured a 9-hour knock loss on a cross-lane review request. In this lane today, three cards (#17374 second half, #17569 rider, #17798) wait on devx PR #17803, itself awaiting the maintainer's hand merge.Question 1 — who finishes a card that was dispatched into a surface another lane owns
packages/specincluded) does NOT move the card: the seat imports the review — an isolated contract-review-tier reviewer subagent (the feat(spec): export SEED_WRITE_EXECUTION_CONTEXT and bind all three seeders to it #17718 precedent), record carryingImplemented-by:/Reviewed-by:so a self-review is machine-visible; governed paths still park at the human terminal.pm:retriagere-routing applies to undispatched cards only. The spec seat remains the sole intake for NEWpackages/specwork (triage routing unchanged). Charter cost: two or three lines acrossSKILL.md,core-rules.md,contract-review.md,dispatch-runbook.md, paid by density.domain:*) and 「分诊不重指派」 narrowed to 「分诊不指派给新人」 so a re-route clears the assignee. Saves the 4.5 h; does not save the 32 h.Question 2 — derived work and blockers of a card being followed through
Blocked-by:target)pm:blockingranks it first in that lane, the waiter is written on the blocker card; p0/p1 parents propagate priority down the chainTwo boundaries either way: one card = one PR (queue and review granularity kept; a trunk branch per AGENTS.md is the multi-card form); the spec seat keeps the intake of new
packages/specwork.维护者速读
改了什么 —— 什么都还没改;这是请你定一条 PM 规则:一张已经派出去、开始做的卡,谁负责把它做完。
为什么改 —— #17718 交付后因为「碰到了 spec 面就得换席」,一张全绿的 PR 空转了 37 小时:32 小时等分诊席答复改路由(单人席位、空缺近 20 小时),再 4.5 小时因为 assignee 没清而对接收席不可见,最后靠你当面直派才动。同一周还有 #17849(18 小时无人路由)、#17905(9 小时敲门丢失)是同一类交接损耗。车道买的两件事——并行写、契约复审档位——在交付之后都可以在席内满足,不需要把卡交出去。
风险与代价(含回滚) —— A 只改章程两三行,不加标签不加状态;复审仍达档、队列守卫与双载体照旧,去掉的只是「静默失败的那一次交接」。风险在 spec 席的独占感:它仍独占新工作的入口,不再收回已交付的活。回滚 = 把那几行改回来。B 只修机械面,便宜但省不下大头。
席位意见 —— 荐 A,并按上面的三类表处理衍生与阻塞项(in-scope 并入子树、无人认领的阻塞项直接做、顺带发现不并)。
你要做的(一个动作) —— 回一个字母:A / B;若同意三类表,回「同意」即可(不同意的类点名)。
os-decision-facets
packages/specandpackages/formula(the spec-seat half of #17323, ruled B) #17849 18 h+ 无路由、[finding] A seat-post body refresh silently expires every unread knock — the read window is 「comments newer than the last body edit」, and a director-ruled cross-lane review took 9 hours to arrive because of it #17905 9 h),全部是交接损耗而非工程状态;本车道另有三张卡等同一张受管 PR 手合。零拉动不成立。Generated by Claude Code