Skip to content

bug: _retrieve ignores retrieval.backends config and hardcodes embeddings-primary #92

Description

@plind-junior

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions