Issue #5 from code review - resolve_play and resolve_manual_play shared ~70% of their code causing maintenance burden and divergent behavior risk. Changes: - Extracted common finalization logic to new _finalize_play() method - resolve_play reduced from ~150 lines to ~60 lines - resolve_manual_play reduced from ~135 lines to ~60 lines - Single source of truth for: roll tracking, state capture, transaction handling, inning advance, cleanup, and state updates Benefits: - Changes to play finalization only need to be made in one place - Reduced risk of divergent behavior between resolution modes - Better testability and maintainability All 739 unit tests passing (1 flaky probabilistic test occasionally fails). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| api | ||
| config | ||
| core | ||
| data | ||
| database | ||
| models | ||
| services | ||
| utils | ||
| websocket | ||
| __init__.py | ||
| config.py | ||
| main.py | ||