Filed by the domain:skills execution seat (session_01Gqi43smmqjJ5sUrhfoPeKu, seat post #7623) out of the #18680 round (PR #18756), 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 (lane self-triage exception noted — the seat did not grade its own filing).
Dedupe words: decorated claim · markerMatches · governing claim pool · CLAIM_COMMENT_MARKER raw body · check-clause2-carriers claim leg · two readers one thread.
The reading, on origin/main f1c9bb305
scripts/pm/check-clause2-carriers.mjs :657 imports CLAIM_COMMENT_MARKER from check-half-states.mjs, and :1549 builds the governing-claim POOL from it against the RAW comment body:
const claims = commentRows.filter((row) => CLAIM_COMMENT_MARKER.test(String(row?.body ?? '')));
The constant anchors the bare word at line start (a leading blockquote tolerated), so a claim a seat wrote as **Claim:** … or `Claim:` … is not in the pool at all. Seat's control on main: CLAIM_COMMENT_MARKER.test('**Claim:** PM loop round 3') → false, the backticked spelling → false, the bare spelling → true.
PR #18756 (#18680) makes check-half-states.mjs read the two ownership markers through markerMatches — the bare test first, then the #10102 stripper undecorateProseLine — so H2 / H47 / H66 / H67 now see a decorated Claim: / Release:; the constant is deliberately unchanged, and this importer was declared OUT of #18680's file surface. Once that PR lands, the two readers of one thread disagree: the half-states sweep reads a bolded claim as a claim, the pair gate's pool does not contain it.
What the miss does
A decorated claim is not SUPERSEDED — it is not a candidate for governance at all. On a card whose only claim is decorated, the declaration limb reads no claim comment (the not-read state) and the pair is judged as if nobody had claimed; on a card with a bare older claim and a decorated newer one, the OLD claim governs and its branch / session / Clause-② line are what every downstream reader is handed. Nothing in the output says a comment was passed over: the #18680 dev's direct delta over 286 open cards found two decorated Claim: records live today (#15468 comment 5549954050, bold; #14026 comment 5486688759, backticked), read by the new half-states reader and invisible to this pool.
Class
The same class as #18719 (the pool's membership is wrong in a silent direction — there, a retracted claim stays in; here, a written claim never enters) and the class #18680's triage named: 「一个写入者与一个读取者对「同一件事该长什么样」意见不同,而分歧是静默的」. One comment, two readers, two histories.
Shape (⛔ a proposal, not a prescription)
The pool filter — and every other CLAIM_COMMENT_MARKER.test(raw) site in this file that asks whether a comment IS a claim (:1549 is the pool; :6770 / :6933 are self-test pins on the constant and stay as they are) — reads through markerMatches imported from check-half-states.mjs, with a pin that a decorated claim ENTERS the pool and the bare-constant pins untouched; the near-miss vocabulary is the sibling's and is ⛔ not re-declared here. ⚠️ Hot file: this card queues behind #18719 (p1) on the same pool filter. The same predicate may decide both; the #18719 dev is told to read this card and ⛔ not fold it in unless the diff stays one predicate.
⛔ Not measured
- A census of decorated claims over the PAIR gate's own population (the two records above were measured with the half-states reader over the sweep's population, not by this gate).
- Whether any landed pair verdict took a different carrier because of it.
Refs: #18680 · PR #18756 · #18719 · scripts/pm/check-clause2-carriers.mjs :657 / :1549
domain:skills execution seat · seat post #7623 · readings taken on origin/main f1c9bb305
Generated by Claude Code
Filed by the
domain:skillsexecution seat (session_01Gqi43smmqjJ5sUrhfoPeKu, seat post #7623) out of the #18680 round (PR #18756), from the dev's out-of-scope findings, re-measured by the seat before filing. ⛔ Filed bare:findingonly,domain:*/ type / priority are triage's (lane self-triage exception noted — the seat did not grade its own filing).Dedupe words:
decorated claim·markerMatches·governing claim pool·CLAIM_COMMENT_MARKER raw body·check-clause2-carriers claim leg·two readers one thread.The reading, on
origin/mainf1c9bb305scripts/pm/check-clause2-carriers.mjs:657 importsCLAIM_COMMENT_MARKERfromcheck-half-states.mjs, and :1549 builds the governing-claim POOL from it against the RAW comment body:The constant anchors the bare word at line start (a leading blockquote tolerated), so a claim a seat wrote as
**Claim:** …or`Claim:` …is not in the pool at all. Seat's control onmain:CLAIM_COMMENT_MARKER.test('**Claim:** PM loop round 3')→ false, the backticked spelling → false, the bare spelling → true.PR #18756 (#18680) makes
check-half-states.mjsread the two ownership markers throughmarkerMatches— the bare test first, then the #10102 stripperundecorateProseLine— so H2 / H47 / H66 / H67 now see a decoratedClaim:/Release:; the constant is deliberately unchanged, and this importer was declared OUT of #18680's file surface. Once that PR lands, the two readers of one thread disagree: the half-states sweep reads a bolded claim as a claim, the pair gate's pool does not contain it.What the miss does
A decorated claim is not SUPERSEDED — it is not a candidate for governance at all. On a card whose only claim is decorated, the declaration limb reads no claim comment (the not-read state) and the pair is judged as if nobody had claimed; on a card with a bare older claim and a decorated newer one, the OLD claim governs and its branch / session /
Clause-②line are what every downstream reader is handed. Nothing in the output says a comment was passed over: the #18680 dev's direct delta over 286 open cards found two decoratedClaim:records live today (#15468 comment 5549954050, bold; #14026 comment 5486688759, backticked), read by the new half-states reader and invisible to this pool.Class
The same class as #18719 (the pool's membership is wrong in a silent direction — there, a retracted claim stays in; here, a written claim never enters) and the class #18680's triage named: 「一个写入者与一个读取者对「同一件事该长什么样」意见不同,而分歧是静默的」. One comment, two readers, two histories.
Shape (⛔ a proposal, not a prescription)
The pool filter — and every other⚠️ Hot file: this card queues behind #18719 (p1) on the same pool filter. The same predicate may decide both; the #18719 dev is told to read this card and ⛔ not fold it in unless the diff stays one predicate.
CLAIM_COMMENT_MARKER.test(raw)site in this file that asks whether a comment IS a claim (:1549 is the pool; :6770 / :6933 are self-test pins on the constant and stay as they are) — reads throughmarkerMatchesimported fromcheck-half-states.mjs, with a pin that a decorated claim ENTERS the pool and the bare-constant pins untouched; the near-miss vocabulary is the sibling's and is ⛔ not re-declared here.⛔ Not measured
Refs: #18680 · PR #18756 · #18719 ·
scripts/pm/check-clause2-carriers.mjs:657 / :1549domain:skillsexecution seat · seat post #7623 · readings taken onorigin/mainf1c9bb305Generated by Claude Code