v0.3.0 — ### Added
- **T-003** Postgres schema + migrations for all PLAN §6 tables (`reports`, `ingestion_ledger`, `fights`, `combatants`, `events`, `fight_model`, `strat_config`, `fault_scores`, `p…
- T-003 Postgres schema + migrations for all PLAN §6 tables (
reports,ingestion_ledger,fights,combatants,events,fight_model,strat_config,fault_scores,prog_points,analysis_cache). SQLAlchemy 2.0 declarative models indb/models.py; Postgres-nativeJSONBandARRAY(Integer)where PLAN requires. - Initial alembic migration
ab0d3c6000ed_initial_schema_t_003; applied to local dev DB. - Indexes:
ix_fights_encounter_id,ix_events_fight_ts,ix_events_ability_game_id,ix_events_fight_type. Unique constraintuq_fights_report_fighton(report_code, fight_id_in_report). - 7 schema roundtrip tests in
tests/test_schema.py(all-tables present, BIGSERIAL assignment, JSONB nested data, ARRAY, composite PKs, unique-constraint enforcement). 19 tests total passing. tests/conftest.pywith savepoint-baseddb_sessionfixture so DB-bound tests roll back cleanly.