2026-10-16 12:46:20 +03:00
|
|
|
# Game bot: tasks
|
|
|
|
|
|
|
|
|
|
Work through the tasks in order; each ends with its tests passing and a commit. Tick a task when it is committed.
|
|
|
|
|
|
|
|
|
|
- [x] 1. **Spec**: requirements, design and tasks.
|
2026-10-16 12:47:32 +03:00
|
|
|
- [x] 2. **Compact board**: `Position` in the engine package; tests against `MancalaGame` with the recorded parity
|
2026-10-16 12:46:20 +03:00
|
|
|
games and random games.
|
2026-10-16 14:11:46 +03:00
|
|
|
- [x] 3. **Search and strength**: `BotLevel`, `BotSettings`, `BotStrength`, `BotSearch`, `BotPolicy` with unit
|
2026-10-16 12:46:20 +03:00
|
|
|
tests; `BotTournamentTest` (tag `calibration`) and its quick version; tune the evaluation weights and the
|
|
|
|
|
strength table until R2.4 holds, and write the final values into `design.md`.
|
2026-10-16 14:18:45 +03:00
|
|
|
- [x] 4. **Bot games in the backend**: `new_bot_game`, `BackendGame.bot`, `playMove` split out of `onGameMove`,
|
2026-10-16 12:46:20 +03:00
|
|
|
`onTurnStarted`, bot ids in `GameStore`, `PublicIds` and the connection info; `BotPlayer` and its executor in
|
|
|
|
|
`Backend`, `BOT_SEARCH_THREADS`; `bot` in snapshots and their restore; unit tests.
|
2026-10-16 14:19:56 +03:00
|
|
|
- [x] 5. **Saving**: `bot` in `GameRecord`, migration `003_bot`, the repository; integration tests.
|
2026-10-16 14:20:31 +03:00
|
|
|
- [x] 6. **Core**: `channel_new_bot_game`, `BotLevel`, `BOT_LEVELS`, `BOT_OFFER_DELAY_MS`, `isBotId`,
|
2026-10-16 12:46:20 +03:00
|
|
|
`getBotLevel`, `getPlayerDisplayName` for bots, texts in English and Turkish; unit tests.
|
2026-10-16 14:22:04 +03:00
|
|
|
- [x] 7. **Web app**: `BotLevelPicker`, the home page button, the lobby offer and `?bot=`, "Play again" after a bot
|
2026-10-16 12:46:20 +03:00
|
|
|
game, bot names everywhere players are shown.
|
2026-10-16 14:23:22 +03:00
|
|
|
- [x] 8. **Mobile app**: lobby offer and `botLevel`, home screen button, bot names; type check and bundle.
|
2026-10-16 12:46:20 +03:00
|
|
|
- [ ] 9. **End to end and docs**: the Chrome tests from `design.md`; `README.md`, `apps/backend/README.md`,
|
|
|
|
|
`AGENTS.md` (the specs list, bot ids, the calibration test) and `TODO.md` (the out of scope items).
|