strat-gameplay-webapp/backend/app
Cal Corum fa3fadd14c CLAUDE: Implement uncapped hit decision UI + backend bugfixes (Issue #7)
Frontend: Full 5-phase interactive wizard for uncapped hit decisions
(lead advance, defensive throw, trail advance, throw target, safe/out)
with mobile-first design, offense/defense role switching, and auto-
clearing on workflow completion.

Backend fixes:
- Remove nested asyncio.Lock acquisition causing deadlocks in all
  submit_uncapped_* methods and initiate_uncapped_hit (non-re-entrant)
- Preserve pending_manual_roll during interactive workflows
- Add league_id to all dice_system.roll_d20() calls
- Extract D20Roll.roll int for state serialization
- Fix batter-runner not advancing when non-targeted in throw
- Fix rollback_plays not recalculating scores from remaining plays

Files: 10 modified, 1 new (UncappedHitWizard.vue)
Tests: 2481/2481 passing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 13:54:57 -06:00
..
api CLAUDE: Add validation to prevent null team metadata in game creation 2026-01-24 18:19:15 -06:00
config CLAUDE: Replace black and flake8 with ruff for formatting and linting 2025-11-20 15:33:21 -06:00
core CLAUDE: Implement uncapped hit decision UI + backend bugfixes (Issue #7) 2026-02-12 13:54:57 -06:00
data CLAUDE: Refactor ManualOutcomeSubmission to use PlayOutcome enum + comprehensive documentation 2025-10-31 16:03:54 -05:00
database CLAUDE: Complete in-game UI overhaul with player cards and outcome wizard 2026-01-23 15:23:38 -06:00
middleware CLAUDE: Add rate limiting, pool monitoring, and exception infrastructure 2025-11-28 12:06:10 -06:00
models CLAUDE: Implement uncapped hit interactive decision tree (Issue #6) 2026-02-12 09:33:58 -06:00
monitoring CLAUDE: Add rate limiting, pool monitoring, and exception infrastructure 2025-11-28 12:06:10 -06:00
services CLAUDE: Add validation to prevent null team metadata in game creation 2026-01-24 18:19:15 -06:00
utils CLAUDE: Add native development workflow for instant startup and hot-reload 2026-02-06 17:56:56 -06:00
websocket CLAUDE: Implement uncapped hit decision UI + backend bugfixes (Issue #7) 2026-02-12 13:54:57 -06:00
__init__.py CLAUDE: Complete Phase 1 backend infrastructure setup 2025-10-21 19:46:16 -05:00
config.py CLAUDE: Add team ownership to auth flow (CRIT-002) 2026-01-13 20:28:08 -06:00
main.py CLAUDE: Add SBA schedule integration with weekly matchup display 2026-01-14 23:39:31 -06:00