Skip to content

pm-dispatch lanes/spec.md: the closed list of spec edits a product PR may carry names only the error-code ledger, so a liveness-citation row fix (now required on every PR by #31559) reads as forbidden #31560

Closed

Description

@objectstack-fleet

domain:skills#2 · zhuangjianguo · session_01QsR2jT34CXs5fCn3BDirZw

Filing gate: (b) a follow-up a PR names. The director's contract review of devx PR #31559 (record 6723037686) flagged it for this lane. ⛔ Not a claim.

维护者速读

你裁的 #31424 第 2 条(记录 6722023475)列了哪些 packages/spec 改动可以随产品 PR 一起改:错误码台账行、平台名注册表、contracts/、JSDoc/describe、测试。PR #31552 把这份清单照原样写成了封闭清单(「唯下列搭车改动可随产品 PR」)。devx 的 PR #31559 会让 check:liveness 在每个 PR 上必跑。一个产品 PR 把代码从被引用的证据文件里挪走时,CI 会红,必须同时修 packages/spec/liveness/** 里那一行引用。这种修改和错误码台账行同类,也不是元数据协议改动,但不在清单里,照字面就成了不许随产品 PR 改。

Ask

  • Decide whether a liveness citation row fix (packages/spec/liveness/**) joins rule 2's rider list.
    • The director reads the ruling's sense as covering it ("a ledger row of the same kind and not a metadata-protocol change").
    • But the list is the maintainer's own words. Rule 6 (record 6722123324) says a change to a lane boundary is a decision card first.
  • If yes, lanes/spec.md L12 (the rider list after docs(pm-dispatch): write the ruled lane boundary rules #31552) becomes, for example, 「台账行(错误码、liveness 引用)」 at equal line count within the 120-byte cap.

Serial

Related: #31424, PR #31552, PR #31559.

Activity

  1. added
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    on Nov 8, 2026
  2. objectstack-fleet commented on Nov 8, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: answered from the ruling record, no decision card · domain:skills · p2 · pm:queue · 2026-11-08T15:52Z

    ⛔ Not a claim.

    • The maintainer's words make the rule open, not closed. 「涉及元数据协议改动的,才需要让 spec 处理」: only a metadata-protocol change goes to spec.
    • The list was illustrative. The list in ruling 6722023475 is triage's set of examples of "other packages/spec edits". The maintainer did not enumerate it.
    • So PR docs(pm-dispatch): write the ruled lane boundary rules #31552's 「唯下列」 narrows the ruling, and fixing it is a transcription fix, not a lane-boundary change. Rule 6's decision-card step doesn't apply.
    • A liveness citation row (packages/spec/liveness/**) is a ledger row and not a protocol change, so it may ride.
    • The fix: lanes/spec.md L12 states the test, "anything that is not a metadata-protocol change may ride", and keeps the list as examples, with liveness citation rows added. Stay within the 120-byte cap at equal line count.
    • Grade: p2. It bites on every PR once PR ci(lint): run check:liveness in the required source-gates lane on every change #31559 lands. Serial after PR docs(pm-dispatch): write the ruled lane boundary rules #31552.
    • finding → graded.

    Generated by Claude Code

  3. added
    documentationImprovements or additions to documentation
    domain:skillsDomain lane — seat card indexed by label:pm:seat
    pm:queueReady for the PM dispatch loop
    and removed
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    on Nov 8, 2026
  4. objectstack-fleet commented on Nov 8, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:skills#2 · zhuangjianguo · session_01QsR2jT34CXs5fCn3BDirZw

    Claim: PM loop round 14 · 2026-11-08T18:10Z
    Session: session_01QsR2jT34CXs5fCn3BDirZw
    Account: zhuangjianguo (the seat's linked user; the card's assignee)
    Branch: the card thread's designated branch, named in the thread's first os-dev-report (a measured platform exception to claude/issue-<n>-<slug>)
    Worktree: objectstack-issue-31560
    Domain: domain:skills
    Seat: domain:skills#2
    File surface: .claude/skills/pm-dispatch/references/lanes/spec.md (stop on breach; explain in the report)
    Container & model: S, mode:thread, model: TIER_DEFAULT (Tier S .claude/**; contract review at CONTRACT_REVIEW_TIER on a Fable sub-agent per the maintainer's 2026-11-08 ruling), effort: medium
    Clause-②: no
    Metadata-protocol: none
    Responsibility: the spec lane boundary rule 2 (ruling 6722023475) as PR #31552 transcribed it | triage 6723626865 rules 「唯下列」 a transcription narrowing: the test is "not a metadata-protocol change", the list is examples, liveness citation rows join it
    Thread-read: 6723626865
    Premise: holds. On main 69244406 lanes/spec.md L12 still reads 「唯下列搭车改动可随产品 PR」 and L16 lists 错误码台账行、平台名注册表、contracts/、JSDoc/describe、测试 with no liveness row; PR #31552 merged 15:28Z and PR #31559 merged 16:16Z, so the gap bites now.
    Serial constraints cleared: #31552 and #31559 both merged; the thread re-checks for an open PR editing lanes/spec.md before its first push.

    Dispatch order: pasted verbatim into the card thread's opening message (common rules + order, from the seat folder skills-seat-2/ of the project files). Writes: PR only via relay pr_create; comments, labels and bodies only via scripts/pm write tools; no GitHub MCP writes.

  5. added
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Nov 8, 2026
  6. objectstack-fleet commented on Nov 8, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:skills#2 · zhuangjianguo · session_01QsR2jT34CXs5fCn3BDirZw

    Claim amendment · 2026-11-08T18:12Z · amends Claim 6725167218 (same session). Branch: claude/project-thread-t0trsk (the card thread's designated branch, a measured platform exception to claude/issue-<n>-<slug>; dev session session_01QsR2jRX8b2q31GzgNc1yAv). Nothing else changes.

  7. objectstack-fleet commented on Nov 8, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:skills#2 · zhuangjianguo · session_01QsR2jRX8b2q31GzgNc1yAv
    os-dev-report

    {
      "issue": 31560,
      "status": "done",
      "branch": "claude/project-thread-t0trsk",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/31645",
      "head": "1f547b0d",
      "session": "session_01QsR2jRX8b2q31GzgNc1yAv",
      "premise_still_valid": true,
      "files_changed": [".claude/skills/pm-dispatch/references/lanes/spec.md"],
      "line_budget": { "before": 43, "after": 43, "ceiling": 43, "max_line_bytes": 119, "rewrapped_untouched_lines": 0 },
      "changed_lines": [
        { "line": 12, "old": "- 一般开发工具面留 devx;`packages/spec` 文件归本席,唯下列搭车改动可随产品 PR。", "new": "- 一般开发工具面留 devx;`packages/spec` 文件归本席,非元数据协议改动皆可随产品 PR 搭车。", "bytes": 116 },
        { "line": 16, "old": "- 可搭产品 PR 的 spec 改动:错误码台账行、平台名注册表、`contracts/`、JSDoc/describe、测试。", "new": "- 搭车如:台账行(错误码、liveness 引用)、平台名注册表、`contracts/`、JSDoc/describe、测试等。", "bytes": 118 }
      ],
      "grep_hits": {
        "query": ".claude/, AGENTS.md, scripts/pm/ for 唯下列 / 搭车 / 随产品 PR / rider",
        "closed_list_outside_surface": 0,
        "pointers_only": [".claude/skills/pm-dispatch/references/lanes/server.md:6", ".claude/skills/pm-dispatch/SKILL.md:175"]
      },
      "serial_check": "open PRs editing lanes/spec.md: 0 (PR 31522 file list read: does not touch it)",
      "gates": {
        "derived": 17, "ran": 17, "not_measured": 0, "unrun": 0, "all_exit": 0,
        "notes": "check:doc-formula-expressions exit 3 then exit 0 after building formula+lint; roster gate check:pm-settings-deny-roster exit 0; PR-body gates check-changeset-no-major, check-adr-0087-registration, check-closing-keyword-parity, check-partof-closing-keyword exit 0; CI check-runs: in_progress at report"
      },
      "dogfood_battery": "n/a — no ! in the title and no (narrowing) arm",
      "labels": ["skip-changeset"],
      "writes": 2,
      "api_writes": "1 relay pr_create (#31645) + this comment",
      "mcp_calls": "5 — issue_read x2, list_pull_requests x1, pull_request_read x2 (get_files, get); no MCP writes",
      "deviations": ["none"],
      "security_findings": "none",
      "out_of_scope_findings": []
    }
  8. objectstack-fleet commented on Nov 8, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:skills#2 · zhuangjianguo · session_01QsR2jT34CXs5fCn3BDirZw

    Landed · 2026-11-08T18:56Z — PR #31645 merged through the merge queue (merge commit 737b160). It landed on the lane's CONTRACT_REVIEW_TIER review: PASS 6725473571 on head 1f547b0, nits only.

    • lanes/spec.md L12: any packages/spec change that is not a metadata-protocol change may ride a product PR (the ruling's test, per triage 6723626865). L13–15, which define the protocol, are unchanged.
    • lanes/spec.md L16: the old list stays as examples, and liveness citation rows (packages/spec/liveness/**) join the ledger rows.

    No gate, workflow or script changed. pm:dispatched removed. Nothing left on this card.

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

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationdomain:skillsDomain lane — seat card indexed by label:pm:seatpriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions