The big advance in 0.9.9 is that the static thesaurus (≈900 headwords + 300+ irregular verb lemmas) now applies automatically by default to every ranked search query — REST, MCP, dashboard, CLI, and the official benchmarks.
No extra parameters. No client changes. Just better recall on vocabulary mismatch and verb forms out of the box.
| Benchmark | Metric | Result | Notes |
|---|---|---|---|
| LoCoMo (10-persona) | R@10 | 72.6% | Matches WHITEPAPER target; +27.7pp vs weak-vector baseline |
| LongMemEval | R@5 | 66.8% | Real fastembed-minilm vectors + thesaurus active (no reranking) |
The thesaurus was validated on real data with proper embeddings. LoCoMo multi-hop and vocabulary-mismatch queries see the expected lift. The internal research harness previously showed +31% NDCG; that improvement is now live for everyone.
A small helper apply_thesaurus_if_text() is called automatically after every text-bearing RankedSearchQuery construction in the server (ranked search, federated search, and context bundles). It runs thesaurus::expand_text() (the same embedded data from 0.9.8) and wires the result through the existing with_synonyms(..., 0.7) path.
The fast path in the lexical scorer still fires when there are no expansions, so baseline latency is unaffected.
cargo install mentisdb --force (or rebuild from source with --features local-embeddings for full vector support).
Existing clients and prompts continue to work unchanged — they just get better results.