v0.32.0 — ### Added — T-305 M-RECOV recovery/resilience
- `analysis/recovery.py::recovery_for_fight()` walks death events, then checks each player's post-death activity (`cast` / `damage` events sourced by them) to detect resurrection.…
analysis/recovery.py::recovery_for_fight()walks death events, then checks each player's post-death activity (cast/damageevents sourced by them) to detect resurrection. Outputs per-deathtime_to_recovery_ms+fastflag (≤5s = likely Swiftcast/Dualcast since base Raise is ~8s).- Per-fight rollup:
total_deaths,recovered_deaths,fatal_deaths,resilience_pct(recovered / total × 100),avg_recovery_ms,fast_rez_count. - Per-player rollup: deaths, recovered, fatal, avg_recovery_ms, fast_rez_count.
- API:
GET /api/fights/{id}/recovery. - 7 new tests (resilience math, fast-rez detection, per-event recovery timing, per-player aggregate, no-deaths edge case). 264 tests total.