Skip to content

v0.17.0 — Retrieval, grown up: routing, deep search, linked citations

Choose a tag to compare

@thrashr888 thrashr888 released this 16 Jul 06:02

Highlights

  • Ask Everything got a retrieval overhaul. Questions now route to the notebooks most likely to hold the answer (semantic routing over source/note titles, active once you have more than 5 notebooks), while keyword search stays corpus-wide as the exact-identifier escape hatch — so "what uses port 32400?" still hits even when routing guesses wrong. Diversity caps keep one large notebook from crowding everything else out of the answer, and "where did I save X?" now matches source and note titles directly.
  • Deep search, on demand. A Telescope toggle in ⌘K ask mode (same UX as chat's deep research) retrieves a 3× candidate pool and has the model keep the passages that actually answer. Smart default: on for gateway models, off for local; degrades safely to normal search if the reranker is unavailable.
  • Citations you can click, everywhere. Inline [1] markers in Ask Everything answers are now clickable chips that jump across notebooks to the exact passage or note, matching notebook chat.
  • Same question, same citations. Hybrid search had a hidden coin flip: tied fusion scores ordered randomly per launch, so answers could cite different passages run to run. Ties now break deterministically — measured as exact-identifier MRR@10 going from an unstable 0.88 to a stable 1.00.
  • Retrieval shows its work. Every retrieval appends a local trace (query, stages, warnings, ranked citations) to traces/retrieval.jsonl, and agents get an MCP search_debug tool that exposes the vector/keyword/fused stages — when an answer looks off, you can see exactly why.
  • Quality is now measured, not vibes. A dataset-driven eval harness (Recall@5/10, MRR@10, MAP@10, nDCG@10 across exact/paraphrase/section/metadata/multihop queries) runs in cargo test and floors the metrics, so retrieval regressions fail CI before they reach you. The routing and diversity designs above were chosen by these numbers (per-item routing: 0.93 vs 0.83 accuracy; diversity: 3.0 vs 2.7 notebooks represented, recall unchanged).

Fixes

  • Citation order is deterministic across runs (fusion tie-break).
  • Home activity feed renders each section as it loads instead of waiting for the slowest.
  • Studio refinements and accessibility fixes: focus restore, dialog guards, restored generator colors (#2).

Notes

  • First corpus-wide ask builds a small routes index (new LanceDB table) and keeps it fresh incrementally; existing databases need no migration.
  • Retrieval traces are strictly local, capped at 5 MB with rotation.
  • MCP: search_debug is new; ask_everything accepts an optional deep flag.

Full Changelog: v0.16.0...v0.17.0