Summary
The default SQLite backend uses node:sqlite FTS5 virtual tables for BM25 keyword search (e.g. bm25(l1_fts)). However, official Node binaries are not guaranteed to include the FTS5 module:
- Node v22.13.1 (official darwin-arm64):
CREATE VIRTUAL TABLE ... USING fts5 → no such module: fts5. Keyword search silently unavailable (strategy: embedding only).
- Node v22.23.2 (official darwin-arm64): FTS5 available,
strategy: hybrid works.
Suggested improvement
Document the FTS5 requirement (and version/build caveat) in the README, plus what recall degrades to when FTS5 is absent (embedding-only). A startup log line already warns about this — consider also surfacing it in /health.
Summary
The default SQLite backend uses
node:sqliteFTS5 virtual tables for BM25 keyword search (e.g.bm25(l1_fts)). However, official Node binaries are not guaranteed to include the FTS5 module:CREATE VIRTUAL TABLE ... USING fts5→no such module: fts5. Keyword search silently unavailable (strategy: embeddingonly).strategy: hybridworks.Suggested improvement
Document the FTS5 requirement (and version/build caveat) in the README, plus what recall degrades to when FTS5 is absent (embedding-only). A startup log line already warns about this — consider also surfacing it in
/health.