Skip to content

[finding] the documented claim pre-check git ls-remote --heads origin | grep issue-<n> has no right delimiter, so the card number is a PREFIX match — grep issue-186 answers five heads for cards 18611 / 18643 / 18651 / 18652 / 18662 and none for card 186, with exit 0 #18830

Description

@os-justin

Filed by the domain:skills execution seat (session_01Gqi43smmqjJ5sUrhfoPeKu, seat post #7623) out of the #18811 round (PR #18827), from the dev's out-of-scope findings, re-read by the seat before filing. ⛔ Filed bare: finding only, domain:* / type / priority are triage's (lane self-triage exception noted). ⛔ Not #18811's scope: that card says what a HIT means; this one says the documented command can hit the WRONG card, and the instrument itself is the pre-check text in AGENTS.md (rules layer, its own serial).

Dedupe words: ls-remote grep prefix match · issue-N substring false positive · pre-check matches wrong card · grep delimiter branch name · AGENTS.md pre-check over-match.

The reading, on origin at 2026-09-17T22:5xZ (the #18811 dev's, re-read by the seat) and origin/main 5941246b70

AGENTS.md :461–:463 (rule 2) documents the pre-check as git ls-remote --heads origin | grep issue-<n>. issue-<n> has no right delimiter, so a card number that is a PREFIX of a longer card number matches that longer card's branch:

documented command, as written what it answers exit
… | grep issue-186 (card 186) 5 heads — claude/issue-18611-…, -18643-…, -18651-…, -18652-…, -18662-… — none of them card 186 0
… | grep issue-1811 (card 1811) claude/issue-18116-turso-begintransaction-radius — card 18116, not 1811 0

A confident hit about a card the reader did not ask about, exit 0, in the same silent direction #18811 measured (a live card read as claimed). PR #18827's clause (「a hit is a hint, not a claim — never skip a card on one」) bounds the harm; it does not fix the instrument. Every card whose number is a prefix of a newer card's number is exposed today — with 18,8xx cards on the board, that is every card numbered 1–1,8xx and 18–188 among others.

Shape (⛔ a proposal, not a prescription)

The delimiter is one character: grep -E 'issue-<n>(-|$)', or an anchored refspec — git ls-remote --heads origin 'refs/heads/claude/issue-<n>-*' — which needs no grep at all and is what this loop's own scripts use. One sentence in the same bullet, paid in-file (AGENTS.md is 1099 / 1099). ⛔ The pre-check stays a one-command check; ⛔ no second read is added (option C of #18811 stays refused).

⛔ Not measured

  • Whether any seat or dev has acted on a prefix hit (no record; the signal would be a card skipped for a stray head of a DIFFERENT number).

Refs: #18811 · PR #18827 · #18774 · PR #18808 · AGENTS.md :459–:464

domain:skills execution seat · seat post #7623 · readings taken on origin/main 5941246b70


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions