Split from #261.
Context
Hybrid retrieval is merged (#261 capability), off by default (ADR), and live on the reference deployment since 2026-09-03 (llama.cpp local embeddings, coverage 99.3%, recall serving with zero lexical fallback). The rollout went coverage-gate → serve directly.
What did not run
Phase D specified two acceptance gates that were skipped, not passed:
- Shadow evaluation — run hybrid and keyword rankings side-by-side on real query traffic (or a sampled set), log both, compare while keyword remains the user-facing path.
- Relevance/quality acceptance — a scored query set (gold answers or graded relevance judgments) with an agreed threshold that hybrid must meet or beat keyword.
Proposed acceptance
Non-goals: changing the default-off posture; remote embedding providers; Ollama (excluded by policy).
Split from #261.
Context
Hybrid retrieval is merged (#261 capability), off by default (ADR), and live on the reference deployment since 2026-09-03 (llama.cpp local embeddings, coverage 99.3%, recall serving with zero lexical fallback). The rollout went coverage-gate → serve directly.
What did not run
Phase D specified two acceptance gates that were skipped, not passed:
Proposed acceptance
nomic-embed-text-v1.5Q8_0, 768-d)Non-goals: changing the default-off posture; remote embedding providers; Ollama (excluded by policy).