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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions