v3.9.5
What's Changed
Features
- Coalesced
review_batch(): batches logical and factual NLI pairs throughNLIScorer.score_batch()— 2 GPU forward passes total instead of 2*N. Dialogue items fall back to sequentialreview(). - Per-task-type judge escalation:
_should_escalate()now receives the detected task type at all 4 call sites. Per-task thresholds: dialogue=0.35, summarization=0.25, qa=0.30, fact_check=0.20. - 17 new tests (no-KB calibration, cross-turn blending, judge threshold differentiation).
Fixes
- Scorer:
_finalise_review()log message uses effective threshold override instead of base threshold. - Scorer: meta-classifier NLI-to-coherence threshold conversion uses actual weights instead of hardcoded 0.4/0.6.
- 50+ documentation corrections across docs-site, notebooks, README, ROADMAP, CONTRIBUTING, CITATION.cff — verified by dual audit (Claude + Gemini).
Full Changelog: v3.9.4...v3.9.5