CLAUDE: Update NEXT_SESSION.md - Task 2 complete
- Updated current status to 33% complete (2 of 6 tasks done) - Added comprehensive Task 2 completion details - Updated success criteria to show 24/85 new tests passing - Set next task to Task 3: Complete Result Charts - Part A
This commit is contained in:
parent
121a9082f1
commit
f07d8ca043
@ -1,9 +1,9 @@
|
|||||||
# Next Session Plan - Phase 3 Week 7 in Progress
|
# Next Session Plan - Phase 3 Week 7 in Progress
|
||||||
|
|
||||||
**Current Status**: Phase 3 - Week 7 (~17% Complete)
|
**Current Status**: Phase 3 - Week 7 (~33% Complete)
|
||||||
**Last Commit**: `95d8703` - "CLAUDE: Implement Week 7 Task 1 - Strategic Decision Integration"
|
**Last Commit**: `121a908` - "CLAUDE: Implement Week 7 Task 2 - Decision Validators"
|
||||||
**Date**: 2025-10-29
|
**Date**: 2025-10-30
|
||||||
**Remaining Work**: 83% (5 of 6 tasks remaining)
|
**Remaining Work**: 67% (4 of 6 tasks remaining)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -12,13 +12,15 @@
|
|||||||
### 🎯 Where to Begin
|
### 🎯 Where to Begin
|
||||||
1. Read this entire document first
|
1. Read this entire document first
|
||||||
2. Review `@.claude/implementation/WEEK_7_PLAN.md` for comprehensive task details
|
2. Review `@.claude/implementation/WEEK_7_PLAN.md` for comprehensive task details
|
||||||
3. Start with **Task 2: Decision Validators** (next logical step)
|
3. Start with **Task 3: Complete Result Charts - Part A** (next logical step)
|
||||||
4. Run tests after each change: `pytest tests/unit/core/test_validators.py -v`
|
4. Run tests after each change: `pytest tests/unit/config/test_result_charts.py -v`
|
||||||
|
|
||||||
### 📍 Current Context
|
### 📍 Current Context
|
||||||
**Week 7 Task 1 is complete!** We've implemented the async decision workflow infrastructure that integrates AI and human decision-making. The GameEngine now has `await_defensive_decision()` and `await_offensive_decision()` methods that use asyncio Futures for WebSocket communication. AI teams get instant decisions, human teams wait with timeout.
|
**Week 7 Tasks 1 & 2 are complete!**
|
||||||
|
- **Task 1**: Async decision workflow infrastructure with asyncio Futures for WebSocket communication
|
||||||
|
- **Task 2**: Comprehensive validators for defensive and offensive decisions with 24+ test cases
|
||||||
|
|
||||||
**Next up**: Validate those decisions! Task 2 adds `validate_defensive_decision()` and `validate_offensive_decision()` to the validators module to ensure decisions are legal for the current game state.
|
**Next up**: Enhance the result chart system! Task 3 implements `StandardResultChart` with defensive/offensive decision modifiers, hit location logic, and ~25 test cases. This will allow decisions to actually affect play outcomes.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -58,7 +60,35 @@
|
|||||||
|
|
||||||
- **Testing**: Config tests 58/58 passing ✅, Terminal client works perfectly ✅
|
- **Testing**: Config tests 58/58 passing ✅, Terminal client works perfectly ✅
|
||||||
|
|
||||||
### 2. Manual Outcome Testing Feature (Bonus)
|
### 2. Decision Validators (Week 7 Task 2) - 100%
|
||||||
|
- **Enhanced Validators** (`app/core/validators.py`)
|
||||||
|
- `validate_defensive_decision()` - Comprehensive validation:
|
||||||
|
- Validates all alignments (normal, shifted_left, shifted_right, extreme_shift)
|
||||||
|
- Validates all depths (infield: in/normal/back/double_play, outfield: in/normal/back)
|
||||||
|
- Validates hold_runners require actual runners on specified bases
|
||||||
|
- Validates hold_runners only on bases 1, 2, or 3
|
||||||
|
- Validates double_play depth requires runner on first
|
||||||
|
- Validates double_play depth not allowed with 2 outs
|
||||||
|
- `validate_offensive_decision()` - Comprehensive validation:
|
||||||
|
- Validates all approaches (normal, contact, power, patient)
|
||||||
|
- Validates steal_attempts only to bases 2, 3, or 4
|
||||||
|
- Validates steal_attempts require runner on base-1
|
||||||
|
- Validates bunt_attempt not allowed with 2 outs
|
||||||
|
- Validates bunt_attempt and hit_and_run cannot be simultaneous
|
||||||
|
- Validates hit_and_run requires at least one runner on base
|
||||||
|
- Clear error messages for all validation failures
|
||||||
|
- Follows "Raise or Return" pattern with ValidationError exceptions
|
||||||
|
- **Impact**: All decisions validated before resolution, prevents illegal game states
|
||||||
|
|
||||||
|
- **Comprehensive Tests** (`tests/unit/core/test_validators.py`)
|
||||||
|
- 24+ new test cases covering all validation logic
|
||||||
|
- 13 defensive decision validation tests
|
||||||
|
- 16 offensive decision validation tests
|
||||||
|
- Edge case coverage (0 outs, 1 out, 2 outs, various runner scenarios)
|
||||||
|
- All 54/54 tests passing ✅
|
||||||
|
- **Impact**: Full coverage of decision validation rules
|
||||||
|
|
||||||
|
### 3. Manual Outcome Testing Feature (Bonus)
|
||||||
- **Terminal Client Commands** (`terminal_client/commands.py`, `terminal_client/repl.py`)
|
- **Terminal Client Commands** (`terminal_client/commands.py`, `terminal_client/repl.py`)
|
||||||
- Added `list_outcomes` command - Displays categorized table of all 30+ PlayOutcome values
|
- Added `list_outcomes` command - Displays categorized table of all 30+ PlayOutcome values
|
||||||
- Added `resolve_with <outcome>` command - Force specific outcome for testing
|
- Added `resolve_with <outcome>` command - Force specific outcome for testing
|
||||||
@ -468,13 +498,13 @@ After each task:
|
|||||||
**Week 7** will be **100% complete** when:
|
**Week 7** will be **100% complete** when:
|
||||||
|
|
||||||
- ✅ Task 1: Strategic Decision Integration (DONE)
|
- ✅ Task 1: Strategic Decision Integration (DONE)
|
||||||
- [ ] Task 2: Decision Validators (~20 tests passing)
|
- ✅ Task 2: Decision Validators (DONE - 24 tests passing)
|
||||||
- [ ] Task 3: Result Charts Part A (~25 tests passing)
|
- [ ] Task 3: Result Charts Part A (~25 tests passing)
|
||||||
- [ ] Task 4: Result Charts Part B (~20 tests passing)
|
- [ ] Task 4: Result Charts Part B (~20 tests passing)
|
||||||
- [ ] Task 5: Double Play Mechanics (~10 tests passing)
|
- [ ] Task 5: Double Play Mechanics (~10 tests passing)
|
||||||
- [ ] Task 6: WebSocket Handlers (~15 tests passing)
|
- [ ] Task 6: WebSocket Handlers (~15 tests passing)
|
||||||
- [ ] Task 7: Terminal Client Enhancement (manual testing passes)
|
- [ ] Task 7: Terminal Client Enhancement (manual testing passes)
|
||||||
- [ ] All 85+ new tests passing
|
- [ ] All 85+ new tests passing (currently 24/85 done)
|
||||||
- [ ] Terminal client demonstrates all features
|
- [ ] Terminal client demonstrates all features
|
||||||
- [ ] Documentation updated
|
- [ ] Documentation updated
|
||||||
- [ ] Git commits for each task
|
- [ ] Git commits for each task
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user