Release digest
Fixed
- ADK-05 (RAG Architecture Drift) — Unified chat retrieval on canonical
backend/ai/rag/retrieval_service.py; legacybackend/ai/services/search_service.pyis now an explicit compatibility adapter over the same retrieval singleton. - ADK-06 (No Hybrid RAG Re-rank) — Added hybrid retrieval behavior: wider
semantic pool + lexical overlap reranking (
hybrid_score) inRetrievalService. - ADK-07 (Attachment Guardrails) — Added multimodal attachment validation
(MIME/type/count/per-file/total size limits) in both API request contract
(
backend/api/chat.py) and chat runtime (backend/ai/services/chat_service.py). - CORP-11 (Proxy Ranking Drift) — Removed proxy SQL ranking
(
AVG * LOG(count)) from all company listing paths:backend/api/agent_tools.pybackend/ai/tools/corporate_tools.pybackend/ai/services/chat_service.pyListings now compute canonical trust score per company and sort by real score.
- FORENSIC-08 (List-Wrapped Error Contract) — Standardized
get_transaction_history()backend errors to dict payloads and updated all callers to consume the unified contract. - FORENSIC-10 (No Latency SLA Contract) — Added explicit forensic latency
SLA metadata (
latency_sla) with cached/fresh target evaluation and breach status inbackend/ai/services/forensic_service.py. - MODEL-04 (Brittle 404 Detection) — Replaced pure string matching with
typed model-unavailable detection in
GeminiClient(status_code/code+ fallback string compatibility). - FRONT-06 (Subprocess Analysis Path) — Replaced
subprocess.run(...)sentiment/ABSA execution inbackend/routers/corporate.py::run_ai_analysiswith in-process calls.
Internal
- Added
tests/test_block15_remaining_findings.py(11 tests) covering all residual findings closure contracts. - Updated:
tests/test_model_fallback_chain.py(typed 404 detection assertions)tests/test_forensic_wallet_schema.py(keyword-call compatibility for decorated endpoint test path)
- Full regression: 234 passed, 2 skipped, 22 deselected (
pytest -q). - Targeted quality gates:
pre-commit run --files ...passed. - Added:
docs/reports/2026-03-06_BLOCK15_REMAINING_FINDINGS_VERIFICATION_REPORT.mddocs/reports/2026-03-06_FUNCTIONAL_AUDIT_FINAL_CLOSURE_REPORT.md
- Synced main/internal/public docs for full audit closure.