Vigil
← All news

v0.9.0 — ### Added

- **T-011** Static roster + character aliases. `Member` and `CharacterAlias` ORM models (`db/models.py`); members are decoupled from job (job derived per fight via CombatantInfo i…

  • T-011 Static roster + character aliases. Member and CharacterAlias ORM models (db/models.py); members are decoupled from job (job derived per fight via CombatantInfo in T-107). (character_name, server) is globally unique; alias delete cascades on member delete.
  • Alembic migration 8f2f3edb79f7_t_011_members_character_aliases. 12 tables in dev DB.
  • CRUD routes: GET/POST/PATCH/DELETE /api/members, POST /api/members/{id}/aliases, DELETE /api/aliases/{id}. Pydantic schemas + 409s on duplicates.
  • React Members.jsx editor: list / add / delete members + per-member character aliases. Wired into App.jsx.
  • 9 API tests (empty list, create-with-aliases, duplicate name 409, duplicate alias 409, patch, cascade delete, add+remove alias, 404s). 67 tests total.

Known issue

  • vite build fails on # in the project folder name (Project Alpha (Name #TBD)). vite dev works locally with a warning. Folder rename required before more React lands (T-009).