v0.6.3 — Retrieval benchmarks and query bugfix
v0.6.3 — Retrieval benchmarks and query bugfix
CtxVault v0.6.3 adds a retrieval benchmark suite comparing CtxVault against ChromaDB and LangChain on standard IR datasets and fixes a crash in vault querying.
Added
Retrieval benchmarks — new benchmarks/retrieval/ directory with BEIR and CoIR evaluation scripts that compare CtxVault's full pipeline against raw ChromaDB and LangChain retriever. Tested on NFCorpus, SciFact, CoSQA, and StackOverflow-QA. Results confirm that the vault abstraction introduces no measurable retrieval overhead: CtxVault matches or marginally exceeds both alternatives across all datasets on precision, recall, MRR, and nDCG.
Benchmark utilities — shared benchmarks/utils.py with dataset loaders, metric computation, and result formatting. Existing internal benchmarks (chunking strategy comparison) moved to benchmarks/internal/.
Benchmark README — documents the full benchmark structure, setup instructions, and current results.
Fixed
Query crash on stale chunk IDs — vault.query() could crash with 'NoneType' object is not subscriptable when the Chroma vector index contained entries whose backing records no longer existed (e.g. after delete/reindex flows). The fix filters out unresolvable hits before building results and emits a warning with the count of skipped entries. The root cause of the index/store inconsistency will be tracked independently.
What's unchanged
All CLI commands, API endpoints, MCP tools, and vault operations work exactly as before.