Repository navigation
docs(pm-dispatch): point the PR-body door's three pointers at it without restating the no-footer rule - #31079
Conversation
…out restating the no-footer rule The no-footer rule for PR bodies lives on seat-post-protocol.md's PR-body line. rest-channel.md, platform-readings.md and the SKILL.md claim template's Metadata-protocol row each carried their own copy beside the pointer; drop the copies so the rule has one home. Line counts unchanged. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J8VVAnKJn5WEgnj43PxAB8
|
domain:skills#3 · huangyiirene · session_01J8VVAj7CvjkGXvgXzd6RZ7 Contract-review-claim: session_01J8VVAj7CvjkGXvgXzd6RZ7 · head 2125972 · 2026-11-07T03:03Z The seat review runs at CONTRACT_REVIEW_TIER in an isolated subagent. No review seat ( |
|
domain:skills#3 · huangyiirene · session_01J8VVAj7CvjkGXvgXzd6RZ7 Contract reviewServed-tier: Read: card #31071 (body, triage, claim), PR #31079 (body, file list, net diff ① Derived judgmentsEach line still reaches the door. The door on
Nothing unique is lost. What the PR drops from each line: 「,不送页脚」 (rest-channel L17), 「,不送页脚」 (platform-readings L290), and The chain is closed. At the head,
The door is now the rule's only home, and none of the copies the triage asked to sweep is left. Every factual claim in the PR body's "What changes", "Sweep" and "Line budget" sections matches what I read. No false statement, no lost unique fact: no must-fix here. ② Semver level
③ Boundary flags
④ Design judgment
Must-fix: none. Should-fix: none. Implemented-by: VERDICT: PASS |
|
domain:skills#3 · huangyiirene · session_01J8VVAj7CvjkGXvgXzd6RZ7 维护者速读
席位核对 — ACCEPT · domain:skills#3 · head
|
Requested by Irene · project thread
Fixes #31071
Clause-②: no
Metadata-protocol: none
dispatch-gates --tierreads a MANDATORY model tier for.claude/skills/pm-dispatch/SKILL.md(clause ① of the model-tiering ruling); it is waived by the standing order of the maintainer in this project (2026-11-03), and this card ran on the project's default model. The dispatching seat runs the contract review.维护者速读
seat-post-protocol.mdL31)的指针各删掉自带的「不送页脚」副本,只留指针;规则唯一的家是seat-post-protocol.mdL32。skip-changeset);回滚即 revert。rest-channel.mdL17、platform-readings.mdL290、SKILL.mdL313 末尾;对照seat-post-protocol.mdL31–32。node scripts/pm/check-skill-line-ratchet.mjs,预期退出 0,三文件 319 / 458 / 82 行(上限不变)。What changes
Each pointer keeps pointing at the door; only its own copy of the rule goes.
main.claude/skills/pm-dispatch/references/rest-channel.mdL17…(`seat-post-protocol.md` 正文行,不送页脚)。…(`seat-post-protocol.md` 正文行)。.claude/skills/pm-dispatch/references/platform-readings.mdL290- ⇒ 该正文改走 `seat-post-protocol.md` 的 PR 正文行,不送页脚。- ⇒ 该正文改走 `seat-post-protocol.md` 的 PR 正文行。.claude/skills/pm-dispatch/SKILL.mdL313 (Metadata-protocol:row of the claim template)…through the PR-body line of `references/seat-post-protocol.md`, with no footer (`references/platform-readings.md`))…through the PR-body line of `references/seat-post-protocol.md`)The rule's home, unchanged:
seat-post-protocol.mdL32- PR 正文不送页脚:中继 `issue_patch` 存 = 送、无追加(`platform-readings.md` 中继行)。, under the door line L31. L32 also carries theplatform-readings.mdpointer that SKILL.md L313 dropped, so no reader loses the path to the reading.Tests
None: the diff deletes restated instruction text, with no runtime behaviour to test. The gates below are the checks.
Acceptance notes
Line budget (
scripts/pm/check-skill-line-ratchet.mjs, exit 0)references/rest-channel.mdreferences/platform-readings.mdSKILL.mdNet lines 0 per file; no ceiling or pin moves. SKILL.md L313 sits inside the claim template's
```textfence (L302–L319); the ratchet's ownclassifyLinereads it as classfence, exempt from the 120 B cap, before and after. The other two touched lines are prose under 120 B on both sides. Bytes measured without the newline.Sweep (closes the chain #31050 → #31059 → #31071)
Before editing, on
origin/main3f61e4f:git grep -nE "PR 正文行|PR-body line|正文行|不送页脚|no footer" -- .claude, plus a wider页脚|footerpass and everyseat-post-protocolpointer..claude/agents/os-dev.mdL66 points atseat-post-protocol.mdwithout spelling the rule. Left.platform-readings.mdL332–353 and L402–407 (including L335, L339, L405) are measurement readings, not pointers. Left.正文行hits (os-dev.mdL276–277,SKILL.mdL92 and L109,dispatch-runbook.mdL163,state-machine.mdL27,triage-duties.mdL24) mean a body line in general, not the PR-body door. Left.os-dev.mdL397 and L405 are the attribution-footer clause homed in AGENTS.md (不循环重贴页脚), a different rule. Left.seat-post-protocolpointers (lanes/director.mdL83,seat-lifecycle.mdL23 and L63) point at other sections and spell no footer rule. Left.pm-dispatchhas noevals/directory.After this PR,
git grep -nE "不送页脚|no footer" -- .claudefinds only the home (seat-post-protocol.mdL32) and the readings (platform-readings.mdL335, L339, L405).Verification
Local gates on 2125972: 22 derived, 22 run with exit 0, 0 NOT MEASURED (`dispatch-gates --ran`)
node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstackderived 22 commands (17 pnpm, 5 direct node) for the 3 changed paths. Each ran under a 900 s timeout withNODE_OPTIONS=--max-old-space-size=8192, its exit code captured before any pipe, after building@objectstack/formula,@objectstack/lintand@objectstack/objectql. All 22 exited 0 on the first run.check:pm-skill-ratchet,check:pm-skill-id-lint,check:pm-governed-merges,check:pm-governed-prose,check:doc-authoring,check:skill-frame-sync,check-comment-mask-corpus.mjsand the self-test ofcheck-harness-current.mjs.--ranprinted:22 derived famil(ies) accounted for — 22 run, 0 NOT-MEASURED (a DERIVED zero — all 22 recorded an exit code and none of them is 3).pnpm check:pm-settings-deny-roster(exit 0), the one artifact-roster family whose roster sits under.claude.node scripts/pm/check-governed-merges.mjs --branch claude/project-thread-smbdef: GOVERNED, Tier S (席内达档复核落地):.claude/**×3; 6 changed lines (+3 / −3), under 3000.node scripts/check-commit-card-trailers.mjs --range origin/main..HEAD: exit 0 before every push.Human Minimum
packages/specholds no runtime logic. (No schema touched.)main, one pull request..claude/**only), so the PR takesskip-changeset. Both declaration lines are filled in above.packages/specnot touched; nothing to regenerate.content/docs/references/,packages/*/CHANGELOG.mdorcontent/docs/releases/.🤖 Generated with Claude Code
https://claude.ai/code/session_01J8VVAnKJn5WEgnj43PxAB8