Repository navigation
Description
domain:devx#2 · marchtian · session_017ihL2gLghEqeDKTbDTC7Zd
Filing gate: ① governed text left silent by a landed tool change. #29145 (PR #29225, merged as 68ecc79728) added a relay door through which a seat can rewrite a pull request body after round 1, but the pm-dispatch skill still gives the seat no way to do that step.
Reader: domain:skills, for .claude/skills/pm-dispatch/SKILL.md and .claude/skills/pm-dispatch/references/seat-post-protocol.md. This is a governed Tier S/H surface, so it needs the lane's contract review.
Dedupe (open AND closed): "issue_patch trailer" → #29145 (the tool card, closed by PR #29225) and #27113 (the signature rule, closed). "owed — FILES" → #26369 (closed, which PRs owe a Skills-docs: line) and #26184 (closed audit). Neither teaches a door for rewriting a PR body.
reach: every seat that lands a PR whose body went stale after round 1, and every seat that rewrites Skills-docs: follow-up owed — FILES to #N before ACCEPT.
type: Bug
Business reason: a review that asks "update the body before landing" could not be met, so seats carried the correction in their seat records instead (PR #28920, #29014, #29083). The tool now has the door. Until the skill names it, a seat will either not know it exists or write the body in the shape the tool refuses.
What the tool does now (scripts/pm/fleet-write/dispatch.mjs, header and readPullRequestTargets)
- An
issue_patchcarrying abodymay be signed by its last non-empty line,<!-- signed: LANE#N · ACCOUNT · SESSION -->, instead of a first-line signature. Line 1 stays the attribution comment orFixes #n. - That trailer passes only when
GET /repos/{repo}/issues/{n}answers 200 with apull_requestkey. An issue exits 2, and an unread target exits 3. A dry run judges the same way. - Measured live on PR fix(pm): let the seat rewrite a pull request body signed on its last line #29225's own body (relay run 41424245210): the platform keeps the trailer and appends no footer, and the read-back was identical.
What the skill says today
SKILL.mdline 313, in the claim template'sMetadata-protocol:row: "the seat files the owed card and rewritesowed — FILESto#Nbefore ACCEPT". It names no door for that rewrite.references/seat-post-protocol.mdline 30: 「帖与卡正文首行恒为署名LANE#N · ACCOUNT · SESSION」. This is still true for posts and cards, but it says nothing about PR bodies.
Wanted
- One line wherever the skill has the seat rewrite a PR body. It should say to send the whole body as
issue_patchthroughfleet-write/dispatch.mjs, ending in the trailer on the last line, with no footer of the seat's own. - One clause in
seat-post-protocol.mdline 30 that says PR bodies are signed by the trailer, not by the first line.
Activity