Filed unassigned and ungraded by the domain:services PM seat, session session_0194kbQJxUvv2yvsGRtuXpP5. ⛔ Not graded, not routed. ⚠️ Touches .claude/skills/pm-dispatch/SKILL.md, a governed surface — filed as a card rather than edited, and the maintainer's merge is the review record.
The near-miss, and it is measured rather than argued
On PR #12777 the PM ruled the closing keyword down from Fixes #11833 to Part of #11833, because #11833 carries has_children: true with sub_issues_summary {total: 1, completed: 0} — Fixes would have auto-retired a parent showing 0 of 1 children complete, as a merge side effect rather than anyone's decision.
While making that edit, the dev's own explanatory prose contained:
The PM will close #11833 deliberately after the merge.
GitHub's reference parser matches close / fixes / resolves plus a number regardless of the surrounding sentence. That bookkeeping line would have re-armed the exact auto-close the edit existed to prevent.
⭐ This is not a hypothetical the dev reported — the gate caught it red. Two runs of the repo's own check on the same PR, same head:
| run |
time |
conclusion |
98634479836 — Part-of PR must not also close its card |
2026-08-27 18:52:17Z |
❌ failure |
98634968551 — same check, after the rephrase |
2026-08-27 18:54:28Z |
✅ success |
The dev caught it on read-back, rephrased, and the gate went green. ⇒ The control worked exactly as designed; this card is about the instruction, not the gate.
Why the instruction is worth changing anyway
The negation trap is already documented for prose like "this does not fix #N". ⚠️ The higher-risk shape is the one that bit here and is not covered: the sentence naming who will retire the card and when. It reads as pure bookkeeping, it is written because the author is being careful about not closing, and it is therefore most likely to appear in exactly the PR bodies switching to Part of.
⇒ The body most likely to write a closing keyword next to the card number is the body explaining why it is not closing that card. The warning belongs where the lane tells a dev to switch to Part of, not only where closing keywords are discussed.
⛔ No wording proposed here, and no recommendation on whether it earns a governed-surface edit at all — the gate already catches it, at the cost of one red CI round. Whether that cost is worth a doc change is a grading call, and the file is maintainer-authored.
Provenance
Raised by the dev on #11833 as an open question (option A: leave it per-PR; option B: promote it), with its own recommendation of B, weakly, and the honest note that "nothing is blocked either way". The PM agrees with B and is recording it here rather than acting on it, because .claude/** is not this seat's to edit.
Dedup
#12668 (pm:queue, domain:skills) is the nearest neighbour — "pm-dispatch decision framework: add three maintainer-ruled standing rules". Different content (pull-directed priority order, startup-stage no-gradualism, release-reminder discipline), but it touches the same file, so ⭐ if this is graded worth doing, folding it into that card is likely cheaper than a second governed-surface PR. That is a routing suggestion, not a claim about priority.
Re-check
gh api repos/objectstack-ai/objectstack/check-runs/98634479836 --jq .conclusion # failure
gh api repos/objectstack-ai/objectstack/check-runs/98634968551 --jq .conclusion # success
Filed unassigned and ungraded by the⚠️ Touches
domain:servicesPM seat, sessionsession_0194kbQJxUvv2yvsGRtuXpP5. ⛔ Not graded, not routed..claude/skills/pm-dispatch/SKILL.md, a governed surface — filed as a card rather than edited, and the maintainer's merge is the review record.The near-miss, and it is measured rather than argued
On PR #12777 the PM ruled the closing keyword down from
Fixes #11833toPart of #11833, because #11833 carrieshas_children: truewithsub_issues_summary {total: 1, completed: 0}—Fixeswould have auto-retired a parent showing 0 of 1 children complete, as a merge side effect rather than anyone's decision.While making that edit, the dev's own explanatory prose contained:
GitHub's reference parser matches
close/fixes/resolvesplus a number regardless of the surrounding sentence. That bookkeeping line would have re-armed the exact auto-close the edit existed to prevent.⭐ This is not a hypothetical the dev reported — the gate caught it red. Two runs of the repo's own check on the same PR, same head:
98634479836— Part-of PR must not also close its card98634968551— same check, after the rephraseThe dev caught it on read-back, rephrased, and the gate went green. ⇒ The control worked exactly as designed; this card is about the instruction, not the gate.
Why the instruction is worth changing anyway
The negation trap is already documented for prose like "this does not fix #N".⚠️ The higher-risk shape is the one that bit here and is not covered: the sentence naming who will retire the card and when. It reads as pure bookkeeping, it is written because the author is being careful about not closing, and it is therefore most likely to appear in exactly the PR bodies switching to
Part of.⇒ The body most likely to write a closing keyword next to the card number is the body explaining why it is not closing that card. The warning belongs where the lane tells a dev to switch to
Part of, not only where closing keywords are discussed.⛔ No wording proposed here, and no recommendation on whether it earns a governed-surface edit at all — the gate already catches it, at the cost of one red CI round. Whether that cost is worth a doc change is a grading call, and the file is maintainer-authored.
Provenance
Raised by the dev on #11833 as an open question (option A: leave it per-PR; option B: promote it), with its own recommendation of B, weakly, and the honest note that "nothing is blocked either way". The PM agrees with B and is recording it here rather than acting on it, because
.claude/**is not this seat's to edit.Dedup
#12668 (
pm:queue,domain:skills) is the nearest neighbour — "pm-dispatch decision framework: add three maintainer-ruled standing rules". Different content (pull-directed priority order, startup-stage no-gradualism, release-reminder discipline), but it touches the same file, so ⭐ if this is graded worth doing, folding it into that card is likely cheaper than a second governed-surface PR. That is a routing suggestion, not a claim about priority.Re-check