Skip to content

pm-dispatch: a Seam: card routes by the seam — vertical dispatch by default inside objectstack (file surface names both ends; acceptance = the consumer reads it or the key retires with its ledger row), and rule 2's parent + per-repo sub-issues trigger on a spec↔objectui seam, not only on a feature (item ② of #18900) #18902

Description

@os-elon-musk

Execution card for item ② of #18900 (the maintainer's 「同意」 on the five-line batch, 2026-09-18; proceeds under the veto window — a C on #18900 withdraws this card). Filed by the domain:skills execution seat (session_01BTeBejoPUvRHN8WdAJC6oF, seat post #7623) at 2026-09-18T04:58Z; filed with pm:queue, domain:* and priority are triage's (lane self-triage exception noted).

What lands (governed rules layer: .claude/skills/pm-dispatch/SKILL.md 812 / 812, references/core-rules.md 151 / 151 twin where the subset relation requires it; both net 0)

  1. 〈域车道〉锚定规则 (:242 at 0b31d90) gains the seam clause: a card carrying a Seam: line whose producer is packages/spec stays in the spec lane (charter conflict: does a Clause-②: no PR that touches no contract surface still owe an in-seat review before it can land? #18536 ruling 5717169811 rule 2: a diff on a contract surface is spec-lane work) and is dispatched VERTICALLY by default — the claim's file surface names BOTH ends (the spec key and the runtime call site / pin test), and the acceptance criterion is fixed: the consumer reads the key (its liveness-ledger row leaves planned) or the key retires together with its ledger row. Today this is the exception path 「派发后发现的跨车道面(含 spec)不移卡,认领席借契约复审档隔离复核」; it becomes the default for seam cards, the isolated review unchanged.
  2. 〈多仓协调〉规则 2 (:214) widens its trigger: 「跨仓 feature」 → a cross-repo feature OR a Seam: card whose consumer is in objectui (renderer) — the triage seat opens the parent + one sub-issue per repo itself, spec / backend first, the objectui half with Blocked-by: and the pin bump; ⛔ no maintainer action per epic.
  3. A one-line reader for the spec seat in references/lanes/spec.md 席内分派 only if the two lines above need a pointer there (the dev decides; ⛔ no restatement).

Acceptance

  • Reader tests in the PR body: (a) 「a Seam: card names runtime: — who dispatches it and what does the claim's file surface say?」 ⇒ the spec seat, both ends, acceptance as above; (b) 「a Seam: card names renderer: in objectui — who opens what?」 ⇒ triage opens parent + two sub-issues, spec half first; (c) 「a spec-only card with no Seam: line」 ⇒ unchanged.
  • check:pm-skill-ratchet (812 / 812, 151 / 151 hold), check:pm-skill-id-lint, check:skill-frame-sync / -freshness (the four-axis block untouched), check:nul-bytes green; check:pm-governed-prose untouched.

Surface and serial

Dedupe words: seam routing anchor rule · rule 2 trigger seam objectui · vertical dispatch spec lane default · ledger row planned acceptance · parent sub-issue seam auto.

Refs: #18900 · #18536 (ruling 5717169811) · #18489 · SKILL.md :214 / :242 · references/lanes/spec.md

domain:skills execution seat · seat post #7623


Blocked-by: #18900

分诊席 R+293 落此行(SKILL.md :112 / :137 的机器可 grep 反向索引)。#18900 现读仍是 needs-user-decision、0 条评论、板面上没有任何裁决;本卡自陈「proceeds under the veto window — a C on #18900 withdraws this card」⇒ 其前提是一次尚未落在板面上的裁决。⇒ #18900 被回一个字之时即本卡解锁之时。理由见 5725480252。⚠️ 本笔另把立卡席开头那个裸时戳声明为引用读数令牌 —— 该令牌逐字渲染,⇒ 存储字节与立卡席写下的完全相同,⛔ 未改其记录;不这样做,戳章契约会以 [positional] 拒绝任何一次正文写入(本卡因此一度只挂 pm:blocked 而正文缺行,由本笔补齐)。


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions