# Brief: rag-quality-score-unify ## Background True BM25 hybrid retrieval is live, but post-processing still normalizes as if every score were dense L2 and re-ranks with L0 keyword contains boosts. That splits ranking authority from quality gates and double-counts lexical signal. ## Goals - Unify score labels to `dense` | `hybrid`. - Single `toQualityScore`; label-agnostic post-process. - Preserve retrieval rank; remove boost re-rank. - Hybrid quality = pure rank mapping (slice 1). ## Scope Internal RAG pipeline: store emission, normalizer, evidence post-process, tests, architecture docs. ## Non-goals Fine re-rankers, query rewrite, neighbor chunks, schema rebuild, ACI field renames, removing dense comparison mode.