hephaestus/crates
Erich Blume fc25f6ac51 feat: --project arg is case-insensitive / prefix-fuzzy when unambiguous
The `--project <name>` argument matched titles case-sensitively and
exactly, so `--project hephaestus` or `--project heph` failed against a
`Hephaestus` project. Make project-name resolution forgiving but
deterministic, via a tiered match in `resolve_project_id`:

  1. exact (case-sensitive) — the historical behavior; always wins
  2. case-insensitive exact — only when unambiguous
  3. case-insensitive prefix — only when unambiguous

Ambiguous fuzzy matches resolve to None (callers report "no project
named X") rather than silently picking one. This single resolver already
backed `heph list --project` (via project_scope); route the CLI's
task/edit/promote/parent path through it too with a new `project.resolve`
RPC + `Store::resolve_project`, so every `--project` surface behaves the
same.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 10:57:37 -07:00
..
heph feat: --project arg is case-insensitive / prefix-fuzzy when unambiguous 2026-06-04 10:57:37 -07:00
heph-core feat: --project arg is case-insensitive / prefix-fuzzy when unambiguous 2026-06-04 10:57:37 -07:00
heph-quickadd style: cargo fmt — normalize earlier hand-committed files 2026-06-03 20:38:44 -07:00
heph-tui feat: heph-tui --version reports version + build SHA 2026-06-04 10:52:52 -07:00
hephd feat: --project arg is case-insensitive / prefix-fuzzy when unambiguous 2026-06-04 10:57:37 -07:00