Repository navigation
Commit 9c84b3c
committed
fix(pm): read the ownership markers through the undecorated line, and make a near miss audible
`CLAIM_COMMENT_MARKER` and `RELEASE_COMMENT_MARKER` anchor the bare word at
line start and tolerate only a leading blockquote, so a seat that BOLDS the
directive — `**Release:** …` — writes a record no reader in this file could
see. The failure is the silent one: nothing goes red, the ownership rows just
read a different history than the thread carries.
Every site that asks whether a comment IS a `Claim:` or a `Release:` now asks
`markerMatches`, which tries the bare reading first and then the same
`undecorateProseLine` the `Blocked-by:` / `Restart-when:` family has used since
#10102. The two constants keep their bare semantics — they are the protocol's
spelling, a sibling gate imports one of them, and the cases that pin them still
assert on them directly. Decoration is handled in ONE place, and the reading is
a strict superset by construction: the bare test short-circuits, so no body that
read before can stop reading.
Undecorating is refused through a markdown LIST ITEM: the shared stripper takes
every `*`, so a `* Claim:` bullet would otherwise become a directive while H20's
pinned `- Claim:` stays refused. A list marker is followed by whitespace and a
decoration is not, which is the whole discriminator.
Widening alone would leave the same silence one decoration further out, so
`OWNERSHIP_MARKER_NEAR_MISS_FORMS` names five refused spellings, the sweep
censuses them off the threads other rows already bought, and an unconditional
summary clause names the card, the comment id and the offending prefix. A future
decoration is ADDED to that list rather than rediscovered from a silent row.
H67's declared loss is retired in the same edit — its row and its summary clause
said the decorated line was invisible, and that is no longer true.
Claude-Session: https://claude.ai/code/session_01Gqi43smmqjJ5sUrhfoPeKu
Co-authored-by: Claude <noreply@anthropic.com>1 parent 62bce5c commit 9c84b3c
1 file changed
Lines changed: 522 additions & 25 deletions
0 commit comments