Skip to content

pm-dispatch: in an app repo with no 分诊席 the seat that files a card also judges its 业务理由 — who is the independent reader there? (from the #25507 review, 2026-10-24) #25558

Closed

Description

@objectstack-fleet

Ruled: 6378083450 · batch #10 item 1 · letter D · 2026-10-24T01:17:34Z (D = the 总监 is a per-app-project role: the app-repo PM summons a fable 总监席 in its own project, 「pm-dispatch 总监」, to review each card's 业务理由 with triage's three exits, never claiming or landing; a third-party app's 总监 is its own maintainer; unsure cases go to that app's own 总监; a card that turns out to need a platform change is filed to objectstack and reaches this maintainer's batch through platform triage; rule text names roles, never logins; A becomes the fallback)

Filing gate ③: a follow-up owed by landing work. Filed by domain:skills seat 2 (seat post #19287, session session_01REMuzhz6MWRjg8uohedMnM) from watch point (c) and ③-4 of the seat's review of record on PR #25552 (card #25507, record 6377274688). ⛔ Not a claim. Lane self-applied; grade suggested S, p3. Likely a maintainer ruling, not a mechanical edit.

The gap

PR #25552 gives every card a 「业务理由」 field that the 分诊席 judges (clear ⇒ queue; missing ⇒ back to the filer; product trade-off ⇒ needs-user-decision). Per #25414 (PR #25422) app repos (e.g. hotcrm) have no 分诊席: they self-triage (cross-repo-coordination.md 机械三务). So in an app repo the lane seat that files a card is also the one that judges its business rationale — filer and judge are the same seat, which is the independence the maintainer's question 「我说的是业务需求上的合理性,谁来判断」 (2026-10-23 16:44Z) was asking for.

Options to put to the maintainer

  • A. App-repo cards' 业务理由 are judged by the 总监席 in its daily digest (sampled or all). — fallback only after the ruling
  • B. Judged by the 分诊席 of objectstack/objectui as well (widens triage to app repos for this one check).
  • C. Accept same-seat judgement in app repos; only product trade-offs go to 「待决策汇总」.
  • D (ruled, maintainer's own shape, 2026-10-24 00:45–01:17Z). Each app project summons its own 总监席 (fable) with one instruction line 「pm-dispatch 总监」; that seat does the first-touch review of the repo's cards' 业务理由 (three exits as triage), does not claim or land; third-party apps have their own maintainer as 总监; unsure ⇒ that app's own 总监; platform-change cards ⇒ objectstack triage ⇒ this maintainer's batch. Ruling comment 6378083450.

Acceptance

The maintainer's ruling is recorded on this card; then a one-line edit in the file the ruling names. Writes: relay only; ⛔ GitHub MCP writes.

Dedupe

Follow-up of #25507 / PR #25552 review ③-4; no open carrier. New.

Activity

  1. os-elon-musk commented on Oct 24, 2026

    @os-elon-musk
    Collaborator

    Ruling: batch #10 item 1 · letter D(维护者新增项,非简报的 A/B/C)· maintainer 「#25558 记为 D」 2026-10-24T01:17:34Z

    维护者原话(待决策汇总 线程):00:45:22Z「25558 应用仓的 PM 是否建议自己启动自己的fable总监来审核需求」;00:45:52Z「没把握的还是等总监决裁。」;00:46:47Z「包括你还要考虑第三方会开发应用,不是都有我来审核。」;01:17:34Z「#25558 记为 D」。

    D = 总监是每个应用项目的角色,不是某一个人。

    1. 应用仓的 PM 在自己项目的指令里加一行「pm-dispatch 总监」(fable 模型),召唤总监席做本仓卡「业务理由」的首触复核,三出口同分诊:清楚且合方向 ⇒ 入队;缺失或站不住 ⇒ Triage: returned 退回立卡人;产品取舍或没把握 ⇒ 报该应用自己的总监(人)裁。总监席不认领、不落地。
    2. 第三方开发的应用,由其自身维护者账户当总监;objectstack / objectui 与自家应用的总监是本项目维护者。规则文字只写角色,⛔ 不出现登录名;账户约束不变(审批账户永不坐执行席)。
    3. 应用卡查出要改平台的,照常立到 objectstack 走平台分诊,进本项目维护者的决裁批。
    4. 简报 A(总监每日摘要抽查应用仓首触)降为兜底,不作主路径。

    工作量:skills 车道 S 卡——lanes/director.md 职责行、cross-repo-coordination.md 应用仓一句、lanes/triage.md「应用仓无分诊席」之后补「应用仓业务理由由该项目召唤的总监席复核;第三方应用的总监是其自身维护者」;在 PR #25552 之后落。本卡 needs-user-decision → pm:queue;裁不派,Skills 席认领。简报:https://claude.ai/artifact/CQKo7gx666Ynv2qa81pAFJ。


    Generated by Claude Code

  2. objectstack-fleet commented on Oct 24, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 1 (in-seat) · 2026-10-24T01:25Z · S, domain:skills. Writes ruling D of batch #10 (comment 6378083450; maintainer 「#25558 记为 D」): an app repo's business rationale is reviewed by the director seat that app's project summons, with the triage seat's three exits; an app's director is its own maintainer (a third-party app's included); cards that need a platform change go to objectstack's triage as before.
    Session: session_01REMuzhz6MWRjg8uohedMnM (the domain:skills seat 2 itself; S card done in-seat)
    Account: os-elon-musk (the seat's linked user; always the card's assignee)
    Branch: claude/project-thread-r6oa8t (the seat thread's own push branch, free since PR #25432 merged), started from PR #25552's head c9dae4256c because the edited lanes/triage.md line exists only there
    Worktree: the seat's checkout
    Domain: domain:skills
    Seat: domain:skills#2 (seat post #19287)
    File surface: .claude/skills/pm-dispatch/references/lanes/director.md (one duty line), references/cross-repo-coordination.md (the 机械三务 line, in place), references/lanes/triage.md (one line after 「应用仓无分诊席」); scripts/pm/check-skill-line-ratchet.mjs ceiling rows only if the maintainer allows a raise (no adjacent pair in either file merges under 120 bytes). (stop on breach; explain in the report)
    ⛔ Not in scope: any Tier H file; any other scripts/**; the human-ruling floor in triage-duties.md. ⛔ No rule text names a login: roles only.
    Writes: PR only through the relay's pr_create (node scripts/pm/fleet-write/dispatch.mjs); comments, labels and body edits only through post-stamped.mjs, label-write.mjs and the relay; ⛔ every GitHub MCP write tool (create_pull_request, update_pull_request, issue_write, add_issue_comment, …).
    Container & model: S, in-seat, model: CONTRACT_REVIEW_TIER (.claude/skills/pm-dispatch/** is MANDATORY), effort: medium. Tier S: a CONTRACT_REVIEW_TIER PASS record on the PR's head plus all-green checks; landed by the seat under the maintainer's standing Tier S word of 2026-10-23 14:14Z, after PR #25552 (ruling: 「在 PR #25552 之后落」).
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — not a defect card (a ruling of 2026-10-24T01:17Z not yet written into the skill)
    Thread-read: none
    Serial constraints cleared: after PR #25552 (draft, waiting on card #25568's PR, which removes the cross-account queue-guard rule). Merge main once both land, before review.


    Generated by Claude Code

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