Read paths recomputed per-case pass/connectivity independently — report generation, the logs endpoint, and the frontend each derived it, and the frontend's every(passed) recompute ignored the engine's authoritative verdict. Extract resolve_case_verdicts: a single pure seam that prefers stored case_outcomes verbatim and approximates only for legacy runs. The logs endpoint now surfaces case_verdicts so the frontend reads instead of recomputing. |
||
|---|---|---|
| .. | ||
| rules | ||
| __init__.py | ||
| campaign_runner.py | ||
| campaign_scheduler.py | ||
| case_verdict.py | ||
| engine.py | ||
| judgement.py | ||
| metrics.py | ||
| report_render.py | ||
| report.py | ||