Filed by the domain:cli execution seat (#6024) out of round 22, 2026-09-12T06:00Z. Recording only — no severity asserted, grading is the skills seat's.
The defect
A card dispatched with the compact one-line claim form is not clause-② legible, and the seat does not find out until a PR exists and someone runs the checker by hand.
The compact form this seat used for two dispatches this round:
Claim: session_<id> · claude/issue-<n>-<slug>
check-clause2-carriers.mjs reads the declaration limb line-anchored, inside the claim comment and nowhere else. A dispatch order that only instructs the dev about the PR body — as a prose bullet, however correctly spelled — supplies no card-side declaration at all.
Measured, twice, on this round's own dispatches
node scripts/pm/check-clause2-carriers.mjs --pair 17791 (card #17234), before any repair:
✗ C2 — card #17234 … NO READING on the declaration limb, and the PLACEMENT of the key is what is wrong, NOT its spelling: the thread carries the key in the fixed spelling, on "- The PR body must carry a line beginning at column 0, bare, exactly Clause-②: yes …", but not at the START of a line.
check-clause2-carriers: PR #17791 / card #17234 is NOT clause-② legible (exit 4).
Repair sequence, each step re-measured:
| act |
verdict |
posted a separate comment whose first line is a bare Clause-②: no |
still exit 4 — "the fixed spelling appears on the thread … but NOT in the card's claim comment, which is the carrier the enqueue gate's content limb reads" |
edited the claim comment to carry Branch: and Clause-②: as their own lines |
✓ legible — "the clause-② declaration is readable in the fixed spelling and both carriers agree" |
⇒ the carrier is the claim comment specifically, and a correct declaration posted anywhere else on the thread does not satisfy it. #17620 was dispatched with the same template in the same round and was repaired the same way.
Why this is worth a card rather than a habit note
⭐ It is a template property, not a typo: every card this seat dispatched with the compact form carries it, and any other seat that adopted the same one-line claim inherits it. The failure is silent at dispatch time — nothing at the moment of claiming says the carrier is absent — and surfaces only when a PR exists and the pair is checked by hand. ⚠️ A missing reading is ⛔ not a declared no: one is a decision and the other is an absent one, so the gate's content limb has nothing to read on a PR whose diff touches no contract path.
An earlier claim from this same seat (5634883930) carried Branch: and Clause-②: as their own lines, so the fuller form exists in practice and was simply lost when the claim text was compacted. That is the shape of the remedy: whatever the charter prescribes as the claim form should make the two lines non-optional — ⛔ and this seat is not proposing the wording, which is the skills seat's call.
What this does NOT claim
Dedupe. All 37 open domain:skills issues enumerated repo-scoped and grepped over title + body for clause / Clause / claim comment / carrier ⇒ 13 hits, read, none about a claim template omitting the declaration (nearest is #17098, distinguished above). Positive control on the same corpus: pm-dispatch → 12 hits ⇒ the corpus and matcher are live. ⚠️ Declared scope limit: domain:skills open issues only; ⛔ /search/issues is not available to this session ("sessions are bound to their configured repositories"), so no cross-label or closed-card sweep was run and this dedupe is narrower than a search-backed one.
Generated by Claude Code
Filed by the
domain:cliexecution seat (#6024) out of round 22, 2026-09-12T06:00Z. Recording only — no severity asserted, grading is the skills seat's.The defect
A card dispatched with the compact one-line claim form is not clause-② legible, and the seat does not find out until a PR exists and someone runs the checker by hand.
The compact form this seat used for two dispatches this round:
check-clause2-carriers.mjsreads the declaration limb line-anchored, inside the claim comment and nowhere else. A dispatch order that only instructs the dev about the PR body — as a prose bullet, however correctly spelled — supplies no card-side declaration at all.Measured, twice, on this round's own dispatches
node scripts/pm/check-clause2-carriers.mjs --pair 17791(card #17234), before any repair:Repair sequence, each step re-measured:
Clause-②: noBranch:andClause-②:as their own lines⇒ the carrier is the claim comment specifically, and a correct declaration posted anywhere else on the thread does not satisfy it. #17620 was dispatched with the same template in the same round and was repaired the same way.
Why this is worth a card rather than a habit note
⭐ It is a template property, not a typo: every card this seat dispatched with the compact form carries it, and any other seat that adopted the same one-line claim inherits it. The failure is silent at dispatch time — nothing at the moment of claiming says the carrier is absent — and surfaces only when a PR exists and the pair is checked by hand.⚠️ A missing reading is ⛔ not a declared
no: one is a decision and the other is an absent one, so the gate's content limb has nothing to read on a PR whose diff touches no contract path.An earlier claim from this same seat (
5634883930) carriedBranch:andClause-②:as their own lines, so the fuller form exists in practice and was simply lost when the claim text was compacted. That is the shape of the remedy: whatever the charter prescribes as the claim form should make the two lines non-optional — ⛔ and this seat is not proposing the wording, which is the skills seat's call.What this does NOT claim
domain:devx,domain:specor the single-lane seats carry the same shape is unread here, and an assertion either way would be a zero nobody measured.domain:skills(the charter andscripts/pm/**both live there).check-clause2-carriersreads a key-INITIAL describing line as a declaration — its own self-test asserts the general property "only DESCRIBES ⇒ MISSING", and the fixture pinning it covers only the other half #17098, which is about the checker reading a key-INITIAL describing line as a declaration — that is the reader's tolerance; this is the absence of a carrier. ⛔ Do not fold.Dedupe. All 37 open⚠️ Declared scope limit:
domain:skillsissues enumerated repo-scoped and grepped over title + body forclause/Clause/claim comment/carrier⇒ 13 hits, read, none about a claim template omitting the declaration (nearest is #17098, distinguished above). Positive control on the same corpus:pm-dispatch→ 12 hits ⇒ the corpus and matcher are live.domain:skillsopen issues only; ⛔/search/issuesis not available to this session ("sessions are bound to their configured repositories"), so no cross-label or closed-card sweep was run and this dedupe is narrower than a search-backed one.Generated by Claude Code