Skip to content

v0.4.0 — PPR Graph Intelligence

Choose a tag to compare

@danieliser danieliser released this 01 Mar 03:43
· 98 commits to main since this release

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_expression in variable declarations (previously only arrow_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_search argument 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.