✅ New game state
| Category | Ability |
| Status | Passing |
| Test | tests/test_game_state.py::test_new_game_state |
PRECONDITIONS:
Preconditions
- No preconditions — fresh state.
Action
- Call new_game_state().
Expected Postconditions
-
Both players start with 0 AP.
-
Both players start with 0 CP.
-
No demons on the board (demons == []).
-
cycle == 1.
-
phase == Phase.CONTRACT.
-
game_over == False.
-
winner == None.
Assertions
assert state.players[Side.PLAYER_1].ap == 0
assert state.demons == []
assert state.cycle == 1
assert state.phase == Phase.CONTRACT
assert state.game_over is False