fix: improve search quality and query deduplication#102
Open
gzenz wants to merge 1 commit intotirth8205:mainfrom
Open
fix: improve search quality and query deduplication#102gzenz wants to merge 1 commit intotirth8205:mainfrom
gzenz wants to merge 1 commit intotirth8205:mainfrom
Conversation
9975e72 to
164ea89
Compare
- FTS5 multi-word queries now use AND logic instead of phrase matching, so "graph store" finds GraphStore and related nodes - callers_of/callees_of/inheritors_of deduplicate results by qualified name (multiple call-site edges no longer produce duplicate nodes) - Ambiguous bare-name queries auto-resolve to the production function when exactly one non-test candidate exists - Test functions receive a 0.5x score penalty in hybrid search so production code ranks higher - search_nodes now uses FTS5 as fast path, falling back to LIKE only when FTS5 returns no results - Add v6 migration with composite edge index for upsert_edge performance
164ea89 to
1978c14
Compare
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
"graph" AND "store"instead of phrase matching, so "graph store" finds GraphStore and related nodescallers_of/callees_of/inheritors_ofno longer return duplicate nodes when multiple call-site edges exist between the same pairsearch_nodesFTS5 fast path:GraphStore.search_nodes()now tries FTS5 first, falling back to LIKE only when FTS5 returns no resultsidx_edges_compositeon(kind, source_qualified, target_qualified, file_path, line)for fasterupsert_edgeChanged files
code_review_graph/graph.pysearch_nodesrewritten: FTS5 fast path with LIKE fallbackcode_review_graph/search.pycode_review_graph/tools/query.pyseen_qnset, ambiguous auto-resolutioncode_review_graph/migrations.pyTest plan
build()nottest_build()