Skip to content

pm-dispatch: three more PR-body rewrites and the rest-channel landing rule do not name the issue_patch body door #31050

Closed

Description

@objectstack-fleet

domain:skills#3 · huangyiirene · session_01J8VVAj7CvjkGXvgXzd6RZ7

Filing gate: out-of-scope should-fixes S2–S4 of the contract review of PR #31049 (card #29285). They fall outside that PR's claimed files. ⛔ Not a claim. Triage sets the grade and the lane.
class: c · reach: every seat that rewrites a pull request body, and every reader of the handover gate's header.

What is left after PR #31049

PR #31049 teaches the PR-body door (a relay issue_patch through scripts/pm/fleet-write/dispatch.mjs, signed by the trailer on the last non-empty line) in .claude/skills/pm-dispatch/references/seat-post-protocol.md and the claim template's Metadata-protocol: row in SKILL.md. Its contract review found four places outside those two files that still disagree or stay silent:

  1. references/rest-channel.md L16 says 「直调 dispatch.mjs 仅落地」 (a direct dispatch.mjs call is for landing only). SKILL.md L87 places landing after ACCEPT, but the PR-body rewrite happens before ACCEPT (owed — FILES → #N, a round-2 body update, a flake note). The rule needs an explicit exception for the single-op PR-body issue_patch, or a pointer to seat-post-protocol.md's PR-body line.
  2. scripts/pm/check-handover.mjs header (≈L33) still names seat-post-protocol.md 收班 as the home of the sign-off hand-back rule that narrows (a)'s stay-behind. PR docs(pm-dispatch): teach the seat the PR-body issue_patch door #31049 deletes that line as a restatement; its surviving home is references/seat-lifecycle.md L44 (and the handover checklist step 2 / L38 for the default hand-back). Repoint the header.
  3. references/platform-readings.md L290 (the seat edits a PR body to record a flake reason, and its edited reruns Check Changeset) and .claude/agents/os-dev.md L66 (席位代写 of a report-named body change) are PR-body rewrites that name no door. Point each at seat-post-protocol.md's PR-body line.
  4. No-footer rule reach (delta review of PR docs(pm-dispatch): teach the seat the PR-body issue_patch door #31049, D2). seat-post-protocol.md's PR-body line names the trailer and the door but not "send no footer" (platform-readings.md L336–341). Only SKILL.md L313 points to that reading. A rewrite reached through item 3's pointers would miss it, so the pointer (or the PR-body line) should carry it. While there, reconcile platform-readings.md L341 ("a 58 B bare footer" appended on a PR-body PATCH) with the live reading in pm relay: no door can rewrite a PR body after round 1; the dev writes it once (os-dev.md), and a seat issue_patch must open with its signature, which breaks the Fixes-first body shape #29145 and PR docs(pm-dispatch): teach the seat the PR-body issue_patch door #31049's own body, which ended with the trailer and no appended footer.

Level: internal agent tooling (.claude/** and scripts/pm/** comment only), skip-changeset, Clause-②: no, Metadata-protocol: none.

Related: #29285, PR #31049, #29145, PR #29225.

Activity

  1. added
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    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 6, 2026
  2. objectstack-fleet commented on Nov 6, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: audit · p2 · domain:skills · 2026-11-06T21:54Z

    ⛔ Not a claim.

    • From PR docs(pm-dispatch): teach the seat the PR-body issue_patch door #31049's contract review (S2–S4, D2). Four places in the pm-dispatch skill and the handover script header still disagree with, or say nothing about, the PR-body issue_patch door that PR docs(pm-dispatch): teach the seat the PR-body issue_patch door #31049 teaches. The places: rest-channel.md L16 ("landing only"), the check-handover.mjs header pointer, platform-readings.md L290 and os-dev.md L66 (rewrites that name no door), and the no-footer rule's reach.
    • p2: every seat that rewrites a PR body reads these lines. Lane domain:skills (.claude/skills/pm-dispatch/**; the script header is a comment). finding removed, pm:queue.
    • Docs and pointers only. No rule changes, so nothing here needs the maintainer.

    Generated by Claude Code

  3. objectstack-fleet commented on Nov 6, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:skills#3 · huangyiirene · session_01J8VVAj7CvjkGXvgXzd6RZ7

    Claim: PM loop round 8 · 2026-11-06T22:49Z
    Session: session_01J8VVAj7CvjkGXvgXzd6RZ7
    Account: huangyiirene
    Branch: claude/project-thread-0ili91 (the card thread's designated branch; dev session session_01J8VVAkpKySQ5xGrSjjjnVw)
    Worktree: objectstack-issue-31050
    Domain: domain:skills
    Seat: domain:skills#3
    File surface: .claude/skills/pm-dispatch/references/rest-channel.md (L16); .claude/skills/pm-dispatch/references/platform-readings.md (L290; L336–341 only as the card's item 4 needs); .claude/agents/os-dev.md (L66); .claude/skills/pm-dispatch/references/seat-post-protocol.md (L31); scripts/pm/check-handover.mjs (header comment ≈L33 only, no code); deletion-only restatement edits elsewhere in those files to pay the line ratchet, each with its surviving home named in the PR body (stop on breach)
    Container & model: S, mode:thread, project-default model, effort: medium. dispatch-gates --tier is run by the thread and reported; any mandate above this thread's is waived by the maintainer's standing order in this project (2026-11-03) and said so in the PR body; this seat runs the contract review.
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — residue of PR #31049's teaching (its contract review S2–S4, D2); objectstack carries the fix
    Thread-read: 6696823327
    Premise: holds on main b5106af62: rest-channel.md L16 reads 「直调 dispatch.mjs 仅落地」; platform-readings.md L290 and os-dev.md L66 rewrite a PR body without naming the door; check-handover.mjs's header still names seat-post-protocol 收班 as the hand-back rule's home.
    Serial constraints: none.

    No changeset (nothing published): skip-changeset. Fixes #31050. Tier read by check-governed-merges at the PR.

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

    @objectstack-fleet
    ContributorAuthor

    domain:skills#3 · huangyiirene · session_01J8VVAj7CvjkGXvgXzd6RZ7

    ACCEPT → PR #31058 comment 6698729563 (seat check and maintainer summary). Tier S: same-head PASS on record after one FAIL round, CI all green; the seat flipped it ready and armed auto-merge. Residue filed as #31059.

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:seatpm:dispatchedDispatched to a dev agent by /pm-dispatchpriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions