Commit 0715eac
committed
propose: design
Adds propose/RESOLVE-TOOL-PROPOSE.md.
`resolve(identifier, hint_kind?)` is the strict-frame primitive for
identifier-shaped lookups, named in §3.5 of the filter-frame propose
and now designed in detail:
- Discriminated output: status=one|many|none, with NodeRef / candidate
list / message accordingly. Status invariants checked at handler exit.
- hint_kind only — no microservice co-hint, no hints: dict.
- Closed ResolveReason Literal (8 values): identifier shape \u2192 reason
category, ranking by reason priority + specificity + stable id.
- Loud-fail (success=False) on empty / whitespace identifier, distinct
from status='none' (well-formed input, no match).
- All three kinds in one tool; per-kind splits explicitly out.
- Removes the §3.4.7 pre-resolve fallback wording from all four
existing tool descriptions (not amended, removed).
17-UC re-walk covers Symbol FQN / suffix / short-name, route
method+path / template / microservice-qualified, client target /
target+path, malformed input, query-shaped input, wildcards, and
cross-kind disambiguation without hint_kind.
15 locked decisions, 2-PR migration (PR-RESOLVE-1 ships the tool,
PR-RESOLVE-2 sweeps tool descriptions). No deprecation aliases —
breaking changes allowed, no active users.resolve tool1 parent ff84fb9 commit 0715eac
1 file changed
Lines changed: 338 additions & 0 deletions
0 commit comments