- Fixed conftest.py: Use execution_options for implicit_returning (SQLAlchemy 2.0)
- Fixed models.py: Changed UserDeck.updated_at onupdate from func.now() to datetime.now
- All 5 deck tests now pass
- Full suite: 26 passed, 2 failed (pre-existing game model issues)
- test_admin.py: /admin/* → /users/* (admin router mounted at /users)
- test_decks.py: /api/v1/decks/* → /decks/* (decks router mounted at /decks)
- No production code changes - test files only
- Added MTGOnlineGame, GamePlayer, GameHistory models
- Implemented full game CRUD endpoints (create, list, get, join, leave, start, end)
- Integrated WebSocket game server with database persistence
- Added Commander deck validation service (100-card min, color identity, ban list)
- Created Alembic migration 006 for new game tables
- All game endpoints now database-backed (no more stubs)
- Handoff.md: document 16-table user data schema, Alembic migrations,
and all API endpoints (replays, cards, groups, networks, preferences, activity)
- Handoff.md: consolidate state.json reference to project root
- Roadmap.md: restructure phases to reflect completed work
Phase 1: Backend Foundation (complete)
Phase 2: User Data Schema & API (complete) - 16 tables, 7 routers
Phase 3: Frontend Development (complete)
Phase 4: Testing & Deployment (pending)