From 93a06008c35d29860256a3ece7543fa2c329f4f5 Mon Sep 17 00:00:00 2001 From: Sahil Ahuja Date: Mon, 15 Jun 2026 11:49:49 +0530 Subject: [PATCH] docs: note exact-ID precedence in overview query semantics PR #22 added exact-ID-match precedence to RequireSingle (an exact case-insensitive ID match wins over incidental substring matches) but left docs/specs/overview.md describing matching as purely substring. Update the query-semantics paragraph to document the precedence so the spec matches the shipped behavior. --- docs/specs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/specs/overview.md b/docs/specs/overview.md index 800736a..7c5758e 100644 --- a/docs/specs/overview.md +++ b/docs/specs/overview.md @@ -63,7 +63,7 @@ In all rooted cases an absolute `--file`/`IDEAS_FILE` value is used verbatim. Each idea gets a short 4-character lowercase alphanumeric ID (e.g., `[a7k2]`) and an ISO date (`YYYY-MM-DD`). IDs are unique within a single backlog file. -Queries (the `` argument on `show`, `done`, `reopen`, `edit`, `rm`) match against either the ID or the description text. Matching is substring, case-insensitive. If a query matches more than one idea, the command refuses to act and lists the matches. +Queries (the `` argument on `show`, `done`, `reopen`, `edit`, `rm`) match against either the ID or the description text. Matching is substring, case-insensitive. If a query matches more than one idea, the command refuses to act and lists the matches. An exact (case-insensitive) ID match takes precedence over substring matches: when the query is exactly an idea's ID, that idea is selected outright, so passing the canonical ID always resolves it — even when that ID string also appears as a substring inside another idea's text. ## Parse & Format Behavior (lenient read, canonical write)