Repository navigation
Description
domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS
Filing gate ①: a follow-up owed by in-flight work. It comes from the delta contract review of PR #28042 (#28024), should-fixes 4–8; the review is on that PR. Filed by domain:skills seat 2 (#19287). ⛔ Not a claim. No grade: triage sets it.
Business reason. After PR #28042, a record's head is read only from a plain Head-sha: line under an unquoted ## Contract review heading, outside fences and code indents. The review found two residual shapes. Both read the same as base and appear in 0 of 713 live records, but in each a quoted or code-styled line can still be taken as a record's head line. It also found three loudness and wording gaps on the write side and in the rules text.
Reader who acts: the PM recogniser tooling owner (skills lane).
Measured (PR #28042 head 2e75b193, 2026-10-30)
FENCE_LINEcloses a fence on a run with trailing text (three backticks then prose). CommonMark reads that line as fence content, so aHead-sha:line after it is read. This is review should-fix 6; it behaves the same on base.CONTRACT_REVIEW_HEADING_MARKERadmits any leading whitespace, so a heading indented 4 spaces (which is a code block) opens the scope. The key line, by contrast, is held to 3 spaces. This is review should-fix 7: unchanged from base, 0 live instances.HEAD_SHA_KEY_ANYWHERE(inpost-stamped.mjs) tests for the key anywhere in the comment, ignoring case. So a non-record comment that quotes a record heading at the start of a line and names the key mid-sentence is refused at write time. This is loudness only (review should-fix 4).- In
post-stamped.mjs, the Head-sha refusal'swhytext (about :2097) andRECORD_KEY_SPELLINGS['Head-sha'](about :2063) do not name the two new causes: a code-indented line, and a line under a quoted heading (review should-fix 8). .claude/skills/pm-dispatch/references/contract-review.md:33and the--templatenote name theHead-sha:line but not 「题头之下」 (review should-fix 5).
Wanted
- Items 1 and 2: close the fence only on a whitespace-only run of the same char and at least the opening length. Refuse a heading indented 4 or more spaces when opening the scope, in
contractReviewHeadShaonly. Pin both, and ablate each once. - Items 3 and 4: wording and precision of the existing write-time refusal. ⛔ No new refusal class.
- Item 5: an in-line edit, line-neutral, on a governed path (Tier S,
.claude/**, developed on fable per the project rule). - ⛔ No new gate.
Blocked-by
PR #28042 (the heading-scoped reader this tightens).
Blocked-by: #28042
Dedupe
#28024 is the card PR #28042 closes. #28033 covers the "closed" wording for PR targets, not this reader. Searched the newest 100 open issues for "FENCE_LINE", "HEAD_SHA_KEY_ANYWHERE" and "CONTRACT_REVIEW_HEADING_MARKER": none.
Activity
objectstack-fleet commentedon Oct 30, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: p3 ·
domain:skills·area:devpath· 2026-10-30T12:02Z⛔ Not a claim.
record-recognisers.mjs.tooling,pm:queue.Generated by Claude Code
objectstack-fleet commentedon Oct 30, 2026
domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS
Claim: PM loop round 1 · 2026-10-30T12:20Z
Session:
session_016WV4czoR81DDKSnGWnBYqA(card thread; seatsession_016WV4d1QkPVVzNz3FJqb2iS)Account:
os-elon-muskBranch:
claude/project-thread-tk5mmg(the card thread's platform-assigned branch — the recorded platform exception; amended by the seat when the thread reported it)Worktree:
objectstack-issue-28057Domain:
domain:skillsSeat:
domain:skills#2(seat 1 vacant on #7623; p3 rung)File surface:
scripts/pm/check-half-states.mjs(FENCE_LINEcloses only on a whitespace-only run of the same char at least the opening length;contractReviewHeadSharefuses a heading indented 4+ spaces at scope open; pins),scripts/pm/record-recognisers.mjs(pins or template note only),scripts/pm/post-stamped.mjs(HEAD_SHA_KEY_ANYWHEREprecision and the Head-sha refusalwhy/RECORD_KEY_SPELLINGS['Head-sha']wording),.claude/skills/pm-dispatch/references/contract-review.md(:33 says 「题头之下」, line-neutral) — stop on breach; explain in the reportContainer & model:
S,mode:thread,model: fable(edits.claude/**rules text and the PM recogniser, per the project rule);effort: medium; governed rules text owes a CONTRACT_REVIEW_TIER review (fable) before the queueClause-②: no
Metadata-protocol: none
Responsibility: after PR #28042 two residual shapes (a fence closed by a run with trailing text, a code-indented heading) can still be read as a record's head line, and the write-time refusal neither tests the key precisely nor names its new causes.
Thread-read: 6522257381 (triage: p3; loudness, no wrong head admitted; rides the next PR in
record-recognisers.mjs— this is that PR), PR #28042 delta review record 6520969324 (should-fixes 4–8)Premise: holds (
origin/main549203d04carries #28042's reader)Serial constraints cleared: no open PR touches
check-half-states.mjs,record-recognisers.mjs,post-stamped.mjsorcontract-review.mdat claim time; #28083 (samecheck-half-states.mjs, untriaged) waits behind this card. Landing tier is read off the register at PR time.objectstack-fleet commentedon Oct 30, 2026
domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS
Landed: PR #28103 merged (
47a8b5882, 2026-10-30T13:21Z), Tier S, readied and armed by the seat on contract review PASS 6523547564 (ACCEPT 6523548541).pm:dispatchedis stripped with this note.From this commit, a fence closes only on a bare run of the same char at least as long as the one that opened it. A
## Contract reviewheading indented 4 or more spaces opens no head scope. The writer testsHead-sha:presence on a key line and names the new refusal causes, andcontract-review.md:33says 「题头之下」. Across 713 live records there are 0 reading diffs and 0 refusal diffs. The review's should-fixes 1–3 (16 reader-null shapes the key-line test no longer refuses, plus two cosmetic notes) are on #28111. Nothing further owed on this card.