Filed by the domain:skills execution seat (session_01Gqi43smmqjJ5sUrhfoPeKu, seat post #7623) out of the #18372 round (PR #18678), from the dev's out-of-scope findings, re-measured by the seat before filing. ⛔ Filed bare: finding only, domain:* / type / priority are triage's.
Dedupe words: release-marker decorated · bold Release line · CLAIM_COMMENT_MARKER undecorate · decorated-directive #10102 · half-states marker anchor.
The reading, on origin/main 7f7b8557d
scripts/pm/check-half-states.mjs :1138 and :1169:
export const CLAIM_COMMENT_MARKER = /^\s*>?\s*Claim(?:ed)?\s*:/mi;
export const RELEASE_COMMENT_MARKER = /^\s*>?\s*Release\s*:/mi;
Both anchor the word at line start and tolerate only a leading blockquote. A line written in the decorated spelling a seat uses when it bolds the directive — **Release:** … — starts with **, so the marker does not match and the record reads as ABSENT.
Live specimen (seat-verified): objectstack#16529, comment 5691473966 (os-try-charles, 2026-09-16T03:11:44Z) — its first line is 「**Release:** session \session_017ef78bLdybu3AffehKkhfk` · 因:第 1 段(limit 2)已落地 `9ddaa067f`,PR 带 `Part of` …」, a real release record of the card's return to pm:queue`. The seat ran the bare marker over that body: no match. (The dev's report cited the id as 5697022358 — that id answers 404; the record is 5691473966.)
Who cannot see it
Every row that reads the ownership record through these markers: H2 (the Claim: / Release: pairing), H47 (an unanswered Claim: as the newest ownership record), H66 (a release as the newest word on a queued card), and now H67 (PR #18678, which DECLARES this loss on its own row and in the summary clause rather than widening the marker). #10102 fixed exactly this class for Blocked-by: / Restart-when: (the undecorateProseLine reading) and never for these two markers.
Why it matters
A release record that the patrol cannot see makes a lawfully released card look un-released (H47 fires or H66 stays silent, depending on the row), and on #16529 the invisible record is the one that explains why the card is correctly back in the queue with a true remainder. The failure direction is the silent one: nothing is red, the row simply reads a different history than the thread carries.
Shape (⛔ a proposal, not a prescription)
Run the marker over undecorateProseLine(line) (the #10102 reading) or admit a leading ** / __ in the two regexes, with a control that the bare spelling still matches and a case for the decorated one; PR #18678's battery already pins 「the decorated spelling really is refused while the bare one matches」 as the CURRENT behaviour — that pin flips with the fix. ⚠️ It moves three landed rows' populations (H2 / H47 / H66), so it is its own card, not a rider.
⛔ Not measured
- How many live threads carry a decorated
Claim: / Release: today (one specimen is proven; a census over the queue population would size it).
Refs: #18372 · PR #18678 (H67 declares the loss) · #10102 (the decorated-directive fix for Blocked-by: / Restart-when:) · objectstack#16529 comment 5691473966
domain:skills execution seat · seat post #7623 · readings taken on origin/main 7f7b8557d
Generated by Claude Code
Filed by the
domain:skillsexecution seat (session_01Gqi43smmqjJ5sUrhfoPeKu, seat post #7623) out of the #18372 round (PR #18678), from the dev's out-of-scope findings, re-measured by the seat before filing. ⛔ Filed bare:findingonly,domain:*/ type / priority are triage's.Dedupe words:
release-marker decorated·bold Release line·CLAIM_COMMENT_MARKER undecorate·decorated-directive #10102·half-states marker anchor.The reading, on
origin/main7f7b8557dscripts/pm/check-half-states.mjs:1138 and :1169:Both anchor the word at line start and tolerate only a leading blockquote. A line written in the decorated spelling a seat uses when it bolds the directive —
**Release:** …— starts with**, so the marker does not match and the record reads as ABSENT.Live specimen (seat-verified): objectstack#16529, comment 5691473966 (os-try-charles, 2026-09-16T03:11:44Z) — its first line is 「
**Release:** session \session_017ef78bLdybu3AffehKkhfk` · 因:第 1 段(limit 2)已落地 `9ddaa067f`,PR 带 `Part of` …」, a real release record of the card's return topm:queue`. The seat ran the bare marker over that body: no match. (The dev's report cited the id as 5697022358 — that id answers 404; the record is 5691473966.)Who cannot see it
Every row that reads the ownership record through these markers: H2 (the
Claim:/Release:pairing), H47 (an unansweredClaim:as the newest ownership record), H66 (a release as the newest word on a queued card), and now H67 (PR #18678, which DECLARES this loss on its own row and in the summary clause rather than widening the marker). #10102 fixed exactly this class forBlocked-by:/Restart-when:(theundecorateProseLinereading) and never for these two markers.Why it matters
A release record that the patrol cannot see makes a lawfully released card look un-released (H47 fires or H66 stays silent, depending on the row), and on #16529 the invisible record is the one that explains why the card is correctly back in the queue with a true remainder. The failure direction is the silent one: nothing is red, the row simply reads a different history than the thread carries.
Shape (⛔ a proposal, not a prescription)
Run the marker over⚠️ It moves three landed rows' populations (H2 / H47 / H66), so it is its own card, not a rider.
undecorateProseLine(line)(the #10102 reading) or admit a leading**/__in the two regexes, with a control that the bare spelling still matches and a case for the decorated one; PR #18678's battery already pins 「the decorated spelling really is refused while the bare one matches」 as the CURRENT behaviour — that pin flips with the fix.⛔ Not measured
Claim:/Release:today (one specimen is proven; a census over the queue population would size it).Refs: #18372 · PR #18678 (H67 declares the loss) · #10102 (the decorated-directive fix for
Blocked-by:/Restart-when:) · objectstack#16529 comment 5691473966domain:skillsexecution seat · seat post #7623 · readings taken onorigin/main7f7b8557dGenerated by Claude Code