Vigil
← All news

v0.13.0 — ### Added

- **T-107** Combatant → member resolution. `analysis/resolve_members.py::resolve_combatants_for_report` joins `combatants` to `character_aliases` by `(name, server)`, falls back t…

  • T-107 Combatant → member resolution. analysis/resolve_members.py::resolve_combatants_for_report joins combatants to character_aliases by (name, server), falls back to name-only when server is NULL — but only if a single alias claims that name (ambiguity leaves it unresolved instead of guessing). coverage_summary returns {total_characters, resolved, unresolved[…]} and filters FFLogs pseudo-actors (Multiple Players, Limit Break, empty-name, Environment).
  • GET /api/reports/{code}/roster-resolution returns the per-fight combatant → member mapping + coverage in one payload.
  • ReportDetail.jsx: roster-coverage banner (green when fully resolved, amber otherwise, listing the unresolved character names), and the pull-detail tables now display member name alongside character name (e.g. "Alice (Alice Tankerton)").
  • 9 new tests (7 resolver: known alias / server-null fallback / unknown combatant / per-fight job differs / coverage / unknown-report / ambiguous-name; 2 API smoke). 116 tests total.