mirror of
https://github.com/safishamsi/graphify.git
synced 2026-10-25 16:22:30 +00:00
The ambiguous-name refusal added in #4517 routed through _resolve_single_node, whose winning tier can be a prefix or substring match, so a bare search keyword that merely substring-matched several labels was wrongly refused: `query "client"` returned EXIT 3 because it is a substring of `AlphaClient`/`BetaClient`. That narrowed query's keyword-search semantics. Adds _query_name_refusal, which refuses only when the term EXACTLY names several nodes (the source_exact/exact tiers) -- #4511's `.nonce()` case -- and otherwise falls through to scoring. The `query` and `--seed` paths use it; explain/path/ get_node keep _resolve_single_node, whose prefix/substring tiers are correct for a direct node lookup. Adds a regression test that a substring keyword still searches. Co-Authored-By: shivampal46011 <shivampal46011@users.noreply.github.com> Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>