Release archive
3.2.36

ADK-05 (RAG Architecture Drift) & ADK-06 (No Hybrid RAG Re-rank)

Release v3.2.36 focuses on ADK-05 (RAG Architecture Drift), ADK-06 (No Hybrid RAG Re-rank), and ADK-07 (Attachment Guardrails).

FixedInternal
ADK-05 (RAG Architecture Drift) & ADK-06 (No Hybrid RAG Re-rank)

Release digest

Fixed

  • ADK-05 (RAG Architecture Drift) — Unified chat retrieval on canonical backend/ai/rag/retrieval_service.py; legacy backend/ai/services/search_service.py is 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) in RetrievalService.
  • 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.py
    • backend/ai/tools/corporate_tools.py
    • backend/ai/services/chat_service.py Listings 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 in backend/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 in backend/routers/corporate.py::run_ai_analysis with 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.md
    • docs/reports/2026-03-06_FUNCTIONAL_AUDIT_FINAL_CLOSURE_REPORT.md
  • Synced main/internal/public docs for full audit closure.

Technical notes