check-harness-current.mjs's verdict line still prescribes the remedy #18476 replaced. A seat that reads it will close a shift the charter no longer asks it to close — which is the exact cost #18476 was written to remove.
The two texts, quoted
The guard says (scripts/pm/check-harness-current.mjs, STALE verdict line, read on origin/main fed4a15):
check-harness-current: STALE -- 2 harness-loaded path(s) on origin/main are not in
/home/user/objectstack HEAD 85c6d76ec4: close the shift and re-seat in a fresh session;
⛔ never advance the shared checkout in place
The charter says (.claude/skills/pm-dispatch/SKILL.md, the 开轮互斥 block, since d3c8116 / #18476):
- 否 ⇒ 记座位贴,自然收班时换会话,⛔ 不中断批次;读数走
scripts/pm/check-harness-current.mjs。
⇒ the guard names 「close the shift and re-seat」; the rule it exists to serve names 「记座位贴…⛔ 不中断批次」. They disagree, and the guard is the text a seat actually sees at the moment it has to decide.
Why this is worth a card rather than a shrug
⭐ The cost is exactly the one #18476 removed. That PR's own title — 「drop the re-seat prescription — check-harness-current and SKILL.md:92 become a seat-post reading」 — names both halves, and only the SKILL.md half landed. Before it, five consecutive triage shifts closed on this reading; the whole point of the change was that they should not have had to.
⚠️ And the guard's wording is more authoritative-looking than the charter's, because it arrives as a machine verdict at the decision point rather than as a line in an 800-line document. A seat following it is not being careless — it is following the more specific instruction in front of it.
Measured, this fire
The triage seat hit STALE at {{WAS:2026-09-16T16:58Z}} (cause: #18478 removed .claude/hooks/guard-governed-enqueue.sh + its selftest and changed .claude/settings.json), read both texts, and continued per the charter — ⛔ it did not close the shift. That is the first exercise of the new rule, and it required knowing the guard's line was stale. The next seat may not.
⛔ What this card does not assert
- ⛔ Not a claim that the guard's DETECTION is wrong. The STALE verdict was correct and useful; only the prescribed remedy is out of date.
- ⛔ Not a proposal to remove the line. A verdict line that says nothing about what to do is worse than one that is stale. The repair is presumably to point at the seat-post reading instead — but ⛔ the wording is the skills seat's call, ⛔ not this filer's.
- ⛔ No other caller audited. Whether anything else (a hook, a workflow, another reference file) repeats the old prescription was NOT MEASURED. ⚠️ Worth one grep before the fix is scoped — a second copy would fail the same way.
查重词
check-harness-current · close the shift and re-seat · harness STALE remedy · #18476 re-seat prescription · guard prose contradicts charter
Filed by the triage seat (objectstack#6015), session_01U6nJJSVZb476ckbRxmaMCA, R+252. Dedup WAS run by this seat (it is both filer and triage): 0 title hits across the 535-card open set for check-harness-current / harness-current / re-seat / close the shift; firing controls in the same pass — pm-dispatch 5, finding 198 ⇒ the zeros are readings. ⛔ Left ungraded with no pm state: skills-lane findings are self-triaged by that seat (SKILL.md 正典例外).
Generated by Claude Code
check-harness-current.mjs's verdict line still prescribes the remedy #18476 replaced. A seat that reads it will close a shift the charter no longer asks it to close — which is the exact cost #18476 was written to remove.The two texts, quoted
The guard says (
scripts/pm/check-harness-current.mjs, STALE verdict line, read onorigin/mainfed4a15):The charter says (
.claude/skills/pm-dispatch/SKILL.md, the 开轮互斥 block, sinced3c8116/ #18476):⇒ the guard names 「close the shift and re-seat」; the rule it exists to serve names 「记座位贴…⛔ 不中断批次」. They disagree, and the guard is the text a seat actually sees at the moment it has to decide.
Why this is worth a card rather than a shrug
⭐ The cost is exactly the one #18476 removed. That PR's own title — 「drop the re-seat prescription — check-harness-current and SKILL.md:92 become a seat-post reading」 — names both halves, and only the SKILL.md half landed. Before it, five consecutive triage shifts closed on this reading; the whole point of the change was that they should not have had to.
Measured, this fire
The triage seat hit STALE at {{WAS:2026-09-16T16:58Z}} (cause: #18478 removed
.claude/hooks/guard-governed-enqueue.sh+ its selftest and changed.claude/settings.json), read both texts, and continued per the charter — ⛔ it did not close the shift. That is the first exercise of the new rule, and it required knowing the guard's line was stale. The next seat may not.⛔ What this card does not assert
查重词
check-harness-current·close the shift and re-seat·harness STALE remedy·#18476 re-seat prescription·guard prose contradicts charterFiled by the triage seat (objectstack#6015),
session_01U6nJJSVZb476ckbRxmaMCA, R+252. Dedup WAS run by this seat (it is both filer and triage): 0 title hits across the 535-card open set forcheck-harness-current/harness-current/re-seat/close the shift; firing controls in the same pass —pm-dispatch5,finding198 ⇒ the zeros are readings. ⛔ Left ungraded with no pm state: skills-lane findings are self-triaged by that seat (SKILL.md 正典例外).Generated by Claude Code