v0.25.0 — ### Added
- **T-207** M-GATE gated-vs-mechanics diagnostic (PLAN §9, §10 Home headline). `analysis/gate_diagnostic.py::gate_diagnostic_for_fight()` synthesizes T-204 (per-phase DPS verdict)…
- T-207 M-GATE gated-vs-mechanics diagnostic (PLAN §9, §10 Home headline).
analysis/gate_diagnostic.py::gate_diagnostic_for_fight()synthesizes T-204 (per-phase DPS verdict) with our own per-phase death counts and emits one of four verdicts per phase:dps_gated(DPS<p25, ≤1 death),mechanics_gated(DPS OK, ≥2 deaths),both_gated,not_gated. Falls back to a death-only verdict (many_deaths/clean) when the encounter has <3 ingested kills and no DPS target distribution exists yet. - API:
GET /api/fights/{id}/gate-diagnostic. Output is per-phase:{phase_index, dps_status, raid_dps, target, deaths, verdict}. - 6 new tests covering all four verdict branches + no-target fallback + unknown-fight + live FRU AC. 207 tests total.
- Live AC on FRU kill fight #1500: all 6 phases verdict =
not_gated(raid DPS slightly above target median + zero/one deaths per phase) — the expected outcome for a kill from a top-ranked group. - Phase 2 status: 6 of 8 done. Remaining: T-205 (prog-vs-field curve), T-208 (Fight map + Compare UI — heavy UI). M-GATE's verdict is now the headline number the PLAN §10 Home dashboard wants — just needs a UI surface (T-208).