Expose retrieval mode in query responses #37
Reference in New Issue
Block a user
Delete Branch "issue-14-expose-retrieval-mode"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements Gitea issue #14.\n\nSummary:\n- Adds retrieval_mode to query-driven response payloads for semantic vs text fallback visibility.\n- Keeps fields backward-compatible with omitempty where appropriate.\n- Updates tests and README documentation.\n\nVerification:\n- go build ./internal/tools/... ./internal/store/... ./internal/mcpserver/...: pass\n- go test ./internal/tools/... -count=1: pass\n\nCaveat: go build ./... was not used as final verification because internal/app embeds ui/dist when UI assets are absent in the worker environment.
Add a retrieval_mode field ("semantic" or "text") to the output of all five query-driven tools so callers can distinguish vector search from Postgres full-text fallback without inspecting server logs. Tools updated: search_thoughts, recall_context, get_project_context, summarize_thoughts, and related_thoughts (semantic neighbours only; omitempty so field is absent when include_semantic is false or no query is provided for the non-mandatory-query tools). The shared semanticSearch helper now returns the mode as a third return value. All callers updated; fixes two compile errors left by the previous worker (summarize.go and links.go were not capturing the new return). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>