fix: post-merge fixes for Contextual Retrieval (Part B crash, LOG_LEVEL, frontend 0%)
Post-merge fixes for Contextual Retrieval (!199 (merged))
4 commits pushed to feat/contextual-retrieval after !199 (merged) was merged:
-
37bacd192chore(config): wire Part B (hybrid BM25+RRF) vars — Part B added vars to config.py + env template but missed docker-compose (retriever service) + env.j2. Without this, BM25 hybrid can't be enabled via deploy. -
cdfdd6a23fix(retriever): use views() not has_view() — Part B's_ensure_bm25_viewcalledself.db.has_view()which doesn't exist in python-arango 8.3.3 → AttributeError → BM25 view never created → 404 → silent vector-only fallback. Fixed to useviews()membership. -
86f4913d0fix(chatqna): respect LOG_LEVEL + CONFDEBUG — the OPEA CustomLogger never set the level from LOG_LEVEL (DEBUG never worked). Patches uvicorn's LOGGING_CONFIG dict (root + handler + app logger) so DEBUG fires. Default INFO → prod-safe. Strengthened the CONF:N instruction (forceful + 1-shot example). -
6af655e87fix(frontend): display confidence badge even at 0% —if (confidence_score)treats 0 as falsy → badge hidden. Changed to!= null. Mobile already correct (Dart).
All verified: 572 tests pass, ruff clean, config-validator 25/25.