code RAG — hybrid retrieval with AST chunking + rerank
ingest
git push webhook
diff changed files
tree-sitter parse
17 language grammars
function/class chunk
AST node boundaries
LLM summary
Haiku 4.5 prompt cache
symbol graph edges
imports / calls (kuzu)
incremental:
re-embed only changed
chunks; push-to-search
< 60s on 2M LOC fleet
indexes
dense
Voyage-code-3
Qdrant 1.12 hybrid
payload: repo+span
BM25
Tantivy (Rust)
field-weighted
symbol x4 / body x1
symbol graph (kuzu)
import edges, call edges, inheritance
used at query-time for cross-repo expansion
"symbol X from repo A used in repo B"
query (LangGraph)
retrieve: dense || BM25 top-10
fuse: reciprocal rank fusion
rerank: cross-encoder top-5
synth: Claude Sonnet 4.7 1M
answer gate
citation parse
(repo/path:start-end) anchors
reject uncited claims
re-ask or drop
prompt cache
system + reranked context
eval
100 labeled cross-repo Qs
MRR@10, nDCG@10
citation faithfulness rate
p50 < 1.5s, p99 < 4s
10k QPS index size
incremental push-to-search < 60s
weekly drift rerun
alert MRR drop > 5%
2M LOC, 10 repos target