What happened
vouch init writes config.yaml with:
retrieval:
backends: ["fts5", "substring"]
but context._retrieve (src/vouch/context.py:32) always calls
index_db.search_semantic (embedding) first, regardless of that config — and
the config list doesn't even include "embedding". Meanwhile ROADMAP 0.1 and
the README still say "Default stays FTS5; embeddings opt-in via config.yaml."
So the config knob is decorative, the documented default is wrong, and there's
no supported way to force FTS5/substring.
Expected
_retrieve honors a config setting (e.g. retrieval.backend: auto|embedding|fts5|substring,
default auto = embedding→fts5→substring), and ROADMAP/README describe the
actual behavior.
Acceptance
- Setting the backend in
config.yaml changes which retrieval path runs.
embedding is a recognized value.
- Docs match behavior.
What happened
vouch initwritesconfig.yamlwith:but
context._retrieve(src/vouch/context.py:32) always callsindex_db.search_semantic(embedding) first, regardless of that config — andthe config list doesn't even include
"embedding". Meanwhile ROADMAP 0.1 andthe README still say "Default stays FTS5; embeddings opt-in via config.yaml."
So the config knob is decorative, the documented default is wrong, and there's
no supported way to force FTS5/substring.
Expected
_retrievehonors a config setting (e.g.retrieval.backend: auto|embedding|fts5|substring,default
auto= embedding→fts5→substring), and ROADMAP/README describe theactual behavior.
Acceptance
config.yamlchanges which retrieval path runs.embeddingis a recognized value.