bbsbot
2026-02-21
Decompose every file over 500 LOC into focused subpackages across the entire codebase
212 files · 14,171+ · 18,873-
Scripts decomposed into packages
10 files changed
__init__.pyPackage initexecution.pyExecution logic (239 lines)navigation.pyNavigation logic (218 lines)trading.pyTrading logic (276 lines)__init__.pyPackage initexecution.pyExecution logic (152 lines)navigation.pyNavigation logic (198 lines)__init__.pyPackage initexecution.pyExecution logic (73 lines)navigation.pyNavigation logic (201 lines)
- play_to_win.py (864 lines) split into play_to_win/ package: init, main, execution.py (239), main.py (89), models.py (57), navigation.py (218), trading.py (276)
decouple
internal
2 files
execution.pynavigation.py
- play_tw2002_1000turns.py (520 lines) split into play_tw2002_1000turns/ package: execution.py (152), main.py (73), models.py (47), navigation.py (198), parsing.py (43), reporting.py (130)
decouple
internal
1 file
execution.py
- play_tw2002_intelligent.py (605 lines) split into play_tw2002_intelligent/ package: execution.py (73), main.py (48), models.py (37), navigation.py (201), reporting.py (157), testing.py (120)
decouple
internal
1 file
execution.py
Game actions further decomposed
8 files changed
executor_trade.pyTrade executor extracted (376 lines)executor_warp.pyWarp executor extracted (157 lines)loop_guards.pyLoop guards extracted (305 lines)loop_handlers.pyLoop handlers extracted (185 lines)guard_core.pyGuard core extracted (122 lines)guard_decision.pyGuard decision extracted (471 lines)screen.pyTrade screen module (212 lines)utils.pyTrade utilities (79 lines)
- game_actions/action_executor.py split: executor_trade.py (376), executor_warp.py (157) extracted
decouple
internal
2 files
executor_trade.pyexecutor_warp.py
- game_actions/game_loop.py split: loop_context.py (42), loop_guards.py (305), loop_handlers.py (185) extracted
decouple
internal
2 files
loop_guards.pyloop_handlers.py
- game_actions/guard_routing.py split: guard_core.py (122), guard_decision.py (471) extracted
decouple
internal
2 files
guard_core.pyguard_decision.py
- Added game_actions/trade/screen.py (212), trade/utils.py (79)
instantiate
internal
2 files
screen.pyutils.py
Config decomposed into package
6 files changed
__init__.pyConfig package initgameplay.pyGameplay config (181 lines)goals.pyGoals config (109 lines)infra.pyInfrastructure config (55 lines)loader.pyConfig loader (67 lines)strategies.pyStrategy config (162 lines)
MCP tools decomposed
5 files changed
__init__.pyMCP tools package initcontrol_basic.pyBasic control tools (478 lines)control_hijack.pyHijack control tools (208 lines)admin_direct.pyAdmin direct tools (151 lines)admin_remote.pyAdmin remote tools (93 lines)
- mcp_tools.py split into mcp_tools/init.py, control_basic.py (478), control_hijack.py (208) extracted from mcp_tools_control.py (826 lines)
decouple
internal
2 files
control_basic.pycontrol_hijack.py
- Added games/tw2002/admin_direct.py (151), admin_remote.py (93)
instantiate
internal
1 file
admin_direct.py
Multi-character decomposed
6 files changed
__init__.pyMulti-character package initlifecycle.pyLifecycle management (140 lines)locking.pyLocking logic (72 lines)manager.pyManager logic (83 lines)records.pyRecord management (109 lines)selection.pySelection logic (62 lines)
Strategies and AI decomposed
7 files changed
strategy_core.pyAI strategy core (382 lines)strategy_goals.pyAI strategy goals (199 lines)strategy_interventions.pyAI strategy interventions (131 lines)__init__.pyOpportunistic package initexploration.pyExploration logic (135 lines)opportunity_finder.pyOpportunity finder (220 lines)strategy_core.pyOpportunistic strategy core (323 lines)
- strategies/ai_strategy.py (818 lines) split: ai/strategy_core.py (382), strategy_goals.py (199), strategy_interventions.py (131) extracted
decouple
internal
2 files
strategy_core.pystrategy_goals.py
- strategies/opportunistic.py (734 lines) split into package: exploration.py (135), opportunity_finder.py (220), strategy_core.py (323)
decouple
internal
2 files
exploration.pystrategy_core.py
Other module decompositions
12 files changed
__init__.pyDetection package initfast_check.pyFast check (137 lines)heuristics.pyHeuristics (165 lines)recovery.pyRecovery (208 lines)pattern_loader.pyPattern loader extracted (174 lines)rule_application.pyRule application extracted (166 lines)bot_process.pyBot process extracted (291 lines)manager.pyTimeseries manager (137 lines)row_builder.pyTimeseries row builder (491 lines)summary.pyTimeseries summary (371 lines)monitor.pySwarm monitor (247 lines)renderer.pySwarm monitor renderer (288 lines)
- orientation/detection.py (636 lines) split into package: contexts.py (40), fast_check.py (137), heuristics.py (165), patterns.py (15), recovery.py (208)
decouple
internal
2 files
fast_check.pyheuristics.py
- learning/engine.py split: pattern_loader.py (174), rule_application.py (166) extracted
decouple
internal
2 files
pattern_loader.pyrule_application.py
- manager/init.py (1304 lines) split: bot_process.py (291), timeseries/manager.py (137), timeseries/row_builder.py (491), timeseries/summary.py (371) extracted
decouple
internal
2 files
bot_process.pymanager.py
- tui/swarm_monitor.py (548 lines) split into package: monitor.py (247), renderer.py (288), utils.py (68)
decouple
internal
2 files
monitor.pyrenderer.py
Test path updates
5 files changed
test_mcp_hijack_tools.pyUpdated to reflect new module pathstest_engine.pyUpdated to reflect new module pathstest_game_filtering.pyUpdated to reflect new module pathstest_client.pyUpdated to reflect new module pathstest_manager_timeseries.pyUpdated to reflect new module paths