bbsbot
2026-02-23
CI pipeline added, login flow hardened for TWGS multi-game selection, and scale-down enforcement wired into manager
71 files · 2,203+ · 1,332-
CI pipeline
3 files changed
ci.ymlGitHub Actions CI pipeline (35 lines).gitignoreCI-related ignore updates (3 lines)pyproject.tomlCI-related tooling updates (21 lines)
Changelog
1 file changed
CHANGELOG.mdProject changelog started (58 lines)
Login and recovery hardening
6 files changed
phases.pyLogin phase logic hardened for TWGS multi-game selection (131 lines changed)sequence.pyLogin sequence updated (73 lines)character_creation.pyCharacter creation fix (17 lines)utils.pyLogin utilities (9 lines)recovery.pyRecovery improved; prompt_id used to distinguish TW2002 menu from TWGS selection (73 lines)control_basic.pyControl basic tool updates (8 lines)
src/bbsbot/games/tw2002/login/phases.py(131 lines changed) — login phase logic hardened decouple internal1 file
phases.py
src/bbsbot/games/tw2002/login/sequence.py(73 lines) — login sequence updated decouple internal1 file
sequence.py
src/bbsbot/games/tw2002/login/character_creation.py(17 lines) — character creation fix remediate internal1 file
character_creation.py
src/bbsbot/games/tw2002/login/utils.py(9 lines) decouple internal1 file
utils.py
src/bbsbot/games/tw2002/orientation/detection/recovery.py(73 lines) — recovery improved;prompt_idused to distinguish TW2002 menu from TWGS selection decouple internal1 file
recovery.py
- Fixed: TWGS “Describe which game?” prompt handled;
localhostauto-resolved tohost.docker.internalin containers remediate behavioral1 file
phases.py
src/bbsbot/games/tw2002/mcp_tools/control_basic.py(8 lines) decouple internal1 file
control_basic.py
Manager scale-down enforcement
2 files changed
bot_process.pyScale-down to desired-state enforcement added (63 lines)server.pyMCP server updates (18 lines)
src/bbsbot/manager/bot_process.py(63 lines) — scale-down to desired-state enforcement added instantiate internal1 file
bot_process.py
src/bbsbot/mcp/server.py(18 lines) interface internal1 file
server.py
Game logic updates
11 files changed
game_loop.pyGame loop updates (77 lines)knowledge.pyOrientation knowledge updates (8 lines)layers.pyOrientation layer updates (39 lines)goals.pyAI strategy goals updates (12 lines)bot_navigation.pyBot navigation updates (13 lines)io.pyIO updates (11 lines)logging_utils.pyLogging utilities updates (27 lines)rules.jsonPrompt rules updated (14 lines)defaults.pyDefaults module added (23 lines)session_manager.pySession manager updates (3 lines)log_routes.pyLog routes updates (11 lines)
src/bbsbot/games/tw2002/game_actions/game_loop.py(77 lines) — game loop updates decouple internal1 file
game_loop.py
src/bbsbot/games/tw2002/orientation/knowledge.py(8 lines),orientation/layers.py(39 lines) decouple internal2 files
knowledge.pylayers.py
src/bbsbot/games/tw2002/strategies/ai/goals.py(12 lines) decouple internal1 file
goals.py
src/bbsbot/games/tw2002/bot_navigation.py(13 lines) decouple internal1 file
bot_navigation.py
src/bbsbot/games/tw2002/io.py(11 lines),logging_utils.py(27 lines) decouple internal2 files
io.pylogging_utils.py
games/tw2002/rules.json(14 lines) — prompt rules updated decouple behavioral1 file
rules.json
src/bbsbot/defaults.py(23 lines added) — defaults module added instantiate internal1 file
defaults.py
src/bbsbot/core/session_manager.py(3 lines),api/log_routes.py(11 lines) interface behavioral2 files
session_manager.pylog_routes.py
Dashboard column compaction
3 files changed
dashboard.htmlTurns/trades stacked into single column between sector and credits (77 lines)dashboard.jsDashboard JS updates (5 lines)docker-compose.ymlDocker compose updates (2 lines)
src/bbsbot/web/dashboard.html(77 lines) — turns/trades stacked into single column between sector and credits decouple behavioral1 file
dashboard.html
web/static/dashboard.js(5 lines) decouple behavioral1 file
dashboard.js
docker-compose.yml(2 lines) baseline internal1 file
docker-compose.yml
Tests and dependencies
5 files changed
test_ai_strategy.pyStale tests aligned with current behavior (15 lines)test_engine.pyLearning engine test updates (2 lines)test_client.pyClient test updates (7 lines)test_manager_timeseries.pyManager timeseries test updates (4 lines)uv.lockLarge dependency refresh (998 lines changed)
tests/games/tw2002/strategies/test_ai_strategy.py(15 lines),tests/learning/test_engine.py(2 lines),tests/test_client.py(7 lines),tests/test_manager_timeseries.py(4 lines) — stale tests aligned with current behavior qualify behavioral4 files
test_ai_strategy.pytest_engine.pytest_client.pytest_manager_timeseries.py
uv.lock(998 lines changed) — large dependency refresh baseline internal1 file
uv.lock