mantimon-tcg/backend
Cal Corum cd3cc892f4 Implement GameService.execute_action enhancements (GS-003)
Add forced action handling, turn boundary detection, and DB persistence:
- Check for pending forced actions before allowing regular actions
- Only specified player can act during forced action (except resign)
- Only specified action type allowed during forced action
- Detect turn boundaries (turn number OR current player change)
- Persist to Postgres at turn boundaries for durability
- Include pending_forced_action in GameActionResult for client

New exceptions: ForcedActionRequiredError

Tests: 11 new tests covering forced actions, turn boundaries, and
pending action reporting. Total 47 tests for GameService.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 15:15:34 -06:00
..
app Implement GameService.execute_action enhancements (GS-003) 2026-01-29 15:15:34 -06:00
data Simplify card image URLs to use set-based paths 2026-01-27 16:16:51 -06:00
project_plans Implement GameService.execute_action enhancements (GS-003) 2026-01-29 15:15:34 -06:00
references Switch to testcontainers for automatic test container management 2026-01-28 16:49:11 -06:00
scripts Simplify card image URLs to use set-based paths 2026-01-27 16:16:51 -06:00
tests Implement GameService.execute_action enhancements (GS-003) 2026-01-29 15:15:34 -06:00
.env.example Add database infrastructure with SQLAlchemy models and test suite 2026-01-27 10:17:30 -06:00
.gitignore Add backend foundation with uv, Black, and pre-commit hooks 2026-01-24 00:12:33 -06:00
.python-version Add backend foundation with uv, Black, and pre-commit hooks 2026-01-24 00:12:33 -06:00
alembic.ini Add database infrastructure with SQLAlchemy models and test suite 2026-01-27 10:17:30 -06:00
CLAUDE.md Refactor to dependency injection pattern - no monkey patching 2026-01-28 22:54:57 -06:00
docker-compose.yml Implement Phase 2: Authentication system 2026-01-27 21:49:59 -06:00
PROJECT_PLAN_MASTER.json Update project plans and documentation for Phase 3 completion 2026-01-28 15:26:01 -06:00
pyproject.toml Add Phase 4 WebSocket infrastructure (WS-001 through GS-001) 2026-01-28 22:21:20 -06:00
uv.lock Implement Phase 2: Authentication system 2026-01-27 21:49:59 -06:00