fts-errors-silently-caught-in-search

IN premise

FTS5 query errors in `_fts_search` are silently caught and return an empty list, falling back to substring matching — the only place in the API where errors are deliberately swallowed (FTS5 table may not exist).

Summary

When a full-text search query fails — most commonly because the FTS5 table was never created — the search function quietly swallows the error and falls back to a simple substring match instead of crashing. This is the only place in the API that deliberately hides errors, which means search can silently degrade to much worse results without any indication to the caller that full-text indexing is missing or broken.

Details

Sourceentries/2026/05/05/reasons_lib-api.md