Vigil
← All news

v0.33.0 — ### Added — T-306 M-CONS consistency per mechanic

- `analysis/consistency.py::consistency_for_encounter()` walks every canonical mechanic in `fight_model`, finds each occurrence in our pulls (boss cast event), and checks whether…

  • analysis/consistency.py::consistency_for_encounter() walks every canonical mechanic in fight_model, finds each occurrence in our pulls (boss cast event), and checks whether any active-player death lands within [cast_ts, cast_ts + 5s]. An occurrence is "clean" iff no deaths in that window.
  • Output sorted worst-first (lowest clean_rate) so the prog-worthy mechanics surface to the top — "we cleared P4 Pandora's Knight 8/15 pulls, that's where to drill next."
  • Watchlist-scoped (same "ours" semantics as T-205) — public field reports don't pollute.
  • API: GET /api/encounters/{id}/consistency.
  • 5 new tests (per-mechanic clean rate / sort order / no-fight_model edge / no-watchlist edge / our-pulls count). 269 tests total.