feat: Uncapped hit decision tree, x-check workflow, baserunner UI #8
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "feature/uncapped-hit-decision-tree"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary- Uncapped hit decision tree (Issue #6): Full interactive multi-step workflow for SINGLE_UNCAPPED/DOUBLE_UNCAPPED outcomes with 5 decision phases (lead runner advance, defensive throw, trail runner advance, throw target, safe/out speed check)- Interactive x-check workflow: XCheckWizard component with WebSocket integration, position-based result selection, and store wiring- Baserunner horizontal layout: New RunnersOnBase/RunnerCard components with expanding cards, runner/catcher matchup display, and mobile-responsive stacking- On-base code encoding fix: Corrected sequential chart encoding for
current_on_base_code(was bit-field, now matches runner advancement charts)- Double play recovery bug fix: Fixed state recovery for double play scenarios- Frontend test fixes: Added Pinia setup to GameplayPanel tests, updated DefensiveSetup tests## Test Results- Backend: 2481/2481 unit tests passing (80 new for uncapped hits, 1184 invariant tests, 220 truth table tests)- Frontend: 496/496 tests passing (28 fixed in GameplayPanel.spec.ts)## Test plan- [ ] Run backend unit tests:cd backend && uv run pytest tests/unit- [ ] Run frontend tests:cd frontend-sba && npm test- [ ] Verify uncapped hit workflow triggers on SINGLE_UNCAPPED/DOUBLE_UNCAPPED outcomes- [ ] Verify x-check wizard displays and submits results correctly- [ ] Verify baserunner panel shows runners with expand/collapse behavior- [ ] Test mobile layout stacking for pitcher/batter and runners🤖 Generated with Claude CodeLGTM