Skip to content

v0.2.0 — hybrid search

Choose a tag to compare

@malinfossum malinfossum released this 13 Jul 21:45
· 24 commits to main since this release
dd1ca91

Hybrid search release. Ranking now combines semantic similarity with keyword matching and recency, so proper nouns and dated entries surface reliably.

What's new

  • Hybrid ranking0.7 · cosine + 0.3 · IDF keyword + 0.05 · recency (90-day half-life), multiplied by a per-source weight.
  • Sub-chunking — long sections are split into 200-word windows with 40-word overlap, so a match inside a big file no longer drowns.
  • Inline-date recency — the latest YYYY-MM-DD found in a chunk drives the recency signal, falling back to file mtime.
  • Per-source weights — sources accept { "path": ..., "weight": ... } in munin.config.json.
  • Pinned model revision — the embedding model (Xenova/all-MiniLM-L6-v2) is pinned to a specific revision; loads offline-first with a one-time warned online fetch.
  • Tuning — default minScore lowered from 0.35 to 0.3; weights tuned against a golden recall set (tools/golden.mjs).

Verification

  • 30/30 tests passing.
  • Golden question set: 9/10 correct (up from 6/10 on the v0.1.0 semantic-only baseline).