This is the record of an abcd-managed repository

abcdBetav0.16.2 · 2026-11-06

Development record

The intent verb takes quoted text as a create, and guards that path twice so a mistyped sub-verb is never swallowed as a title: a near-miss is refused with a did-you-mean, and a lone bare token is refused because a one-word positional is a sub-verb by shape. Neither guard catches a far miss. The typo check decides first whether the arguments are shaped like a subcommand call, and a token followed by a record id satisfies that shape, but it then refuses only when some registered sub-verb lies within an edit distance of two. A word that is nothing like plan or ready or link or audit therefore passes: the guard has already concluded the shape is a subcommand call, finds no suggestion to offer, and returns as though the input were prose, so the words are filed as the title of a new draft intent in the durable record tier. The failure is silent and it writes. A user who types a verb this tool does not have, next to the id they meant to act on, gets a minted record whose title is their own typo, and learns nothing about the mistake; the same shape reaches every surface that reads the intents directory afterwards. Fix direction: when the arguments are already judged subcommand-shaped, refuse whether or not a suggestion exists, and offer the registered sub-verbs when none is close enough to name. The capture verb's sibling guard is the model, and its comment describes exactly this shape. Detector: an unknown first token followed by a record id refuses with exit 2 and writes nothing, whether or not it is near a real sub-verb, while genuine prose of two or more words still files a draft.

issueresolvedmajoriss-2609091647589392

The intent verb takes quoted text as a create, and guards that path twice so a mistyped sub-verb is never swallowed as a title: a near-miss is refused with a did-you-mean, and a lone bare token is refused because a one-word positional is a sub-verb by shape. Neither guard catches a far miss. The typo check decides first whether the arguments are shaped like a subcommand call, and a token followed by a record id satisfies that shape, but it then refuses only when some registered sub-verb lies within an edit distance of two. A word that is nothing like plan or ready or link or audit therefore passes: the guard has already concluded the shape is a subcommand call, finds no suggestion to offer, and returns as though the input were prose, so the words are filed as the title of a new draft intent in the durable record tier. The failure is silent and it writes. A user who types a verb this tool does not have, next to the id they meant to act on, gets a minted record whose title is their own typo, and learns nothing about the mistake; the same shape reaches every surface that reads the intents directory afterwards. Fix direction: when the arguments are already judged subcommand-shaped, refuse whether or not a suggestion exists, and offer the registered sub-verbs when none is close enough to name. The capture verb's sibling guard is the model, and its comment describes exactly this shape. Detector: an unknown first token followed by a record id refuses with exit 2 and writes nothing, whether or not it is near a real sub-verb, while genuine prose of two or more words still files a draft.

Grounds

  • pursued: the shape decides the refusal, not the availability of a suggestion — what would show it wrong is either a durable record minted from a token-plus-record-id invocation, or a legitimate multi-word title refused

Frontmatter

idiss-2609091647589392
typeissue
lifecycleresolved
severitymajor