Repository navigation
v0.4.0 — PPR Graph Intelligence
What's New
PPR Graph Intelligence (Phase 5)
Personalized PageRank is now a third ranking signal in Tessera's hybrid search, bringing structure-aware code retrieval alongside keyword and semantic search.
Core Features:
- Three-way RRF merge — keyword + semantic + PPR graph signal, with graceful degradation when graphs are sparse
graph.py— PPR via scipy CSR sparse matrices with LRU-cached per-query results- Adaptive sparse threshold — percolation theory-based check (density + largest connected component) decides whether PPR engages
- Cross-file edge resolution — post-indexing pass connects unresolved references across files, dramatically improving graph connectivity (LCC from 1.4% → 67.7% on real codebases)
- Memory monitoring — LRU eviction for graph cache with configurable limits
Extended JS/TS Symbol Extraction
- Object property functions (
{ click_open: function() {} }) - Assignment expressions (
window.PUM.foo = function() {}) function_expressionin variable declarations (previously onlyarrow_function)- +475 symbols extracted from Popup Maker Core after fix
Search Quality — Validated on Real Codebases
Tested against Popup Maker ecosystem (Core + Pro, 14,540 symbols, 14,758 edges):
- 4/6 exit intent queries had top result improved by PPR
- Implementation files consistently surface above noise (images, lock files, docs)
- Score lifts up to +59% on relevant queries
Other
doc_searchargument order bug fix- Search latency benchmarks and 80ms threshold guard
- Configurable embedding endpoint for hybrid search and reindex
- Multi-project spike tests with nDCG@5 metrics
- 11,400+ lines of new code and tests
Upgrade
uv sync # or pip install -e .Existing indexes work — PPR engages automatically when graph density is sufficient. No re-indexing required unless you want the improved JS/TS symbol extraction.