Repository navigation
feat: semantic-search fallback in the search command - #2
Merged
mayank-d3 merged 6 commits intoJul 1, 2026
Merged
Conversation
Signed-off-by: mayank-d3 <mayank.rawat@d3.com>
Signed-off-by: mayank-d3 <mayank.rawat@d3.com>
Signed-off-by: mayank-d3 <mayank.rawat@d3.com>
Signed-off-by: mayank-d3 <mayank.rawat@d3.com>
Signed-off-by: mayank-d3 <mayank.rawat@d3.com>
…ate json field Signed-off-by: mayank-d3 <mayank.rawat@d3.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
agent-root searchnow falls back to the registry's hybrid semantic endpoint (/api/search, BM25 + pgvector RRF) when keyword search (/api/records) returns no results — so natural-language queries like "skill to pay in USDC" surface relevant records instead of nothing. Fallback hits are clearly labeled as approximate. Drafted with help from Claude; I reviewed every line before submitting.Changes
/api/search, ordered:records → semantic → legacy(find-skills, manifest probe)--no-semanticflag (keyword-only opt-out)// no exact match — closest semantic matches:header, each tagged{hybrid}/{vector}/{keyword}--jsongains a top-levelapproximateboolean (uniform across empty + non-empty envelopes)--allunaffected; embedder-offline surfaces naturally as{keyword}tagsdocs/TESTING.mdupdatedChecklist
feat:,docs:)tests/that fail without this change (mappers,searchSemanticincl. 429 →[], fallback ordering, display +--json)pnpm testpasses locally (only the pre-existing live-DNSintegration-smoketests fail in a no-network sandbox)CHANGELOG.mdunder## [Unreleased]README.md+ per-command help for the new flag/behaviorgit commit -s)How to test
Built locally (
pnpm build) and run against production:Closes / Related
Closes #1