bbsbot 2026-02-20
Bot lifecycle hardening, port data poisoning fixes, dashboard active filter, and archive cleanup
204 files · 13,059+ · 18,691-

Port survey action

2 files changed
  • action_helpers.py Port survey action to populate sector knowledge with market prices
  • test_port_survey_action.py Port survey action test (96 lines)
  • New port survey action to populate sector knowledge with market prices without requiring a trade instantiate internal
    1 file
    • action_helpers.py
  • New test tests/games/tw2002/strategies/test_port_survey_action.py (96 lines) qualify internal
    1 file
    • test_port_survey_action.py

Port data poisoning fix

3 files changed
  • connection.py Removed has_port writes from streaming semantic updates
  • navigator.py Blocked transit-screen port data from fast-path knowledge writes
  • knowledge.py Safeguards for transit-context port data
  • connection.py: removed has_port writes from streaming semantic updates entirely — transit screens were incorrectly marking sectors as having ports remediate internal
    1 file
    • connection.py
  • navigator.py: block transit-screen port market data from fast-path sector knowledge writes streamline internal
    1 file
    • navigator.py
  • orientation/knowledge.py (+14 lines): added safeguards for transit-context port data harden internal
    1 file
    • knowledge.py

Bot lifecycle crash recovery and game_full handling

4 files changed
  • __init__.py Release account and kill process on bot crash; reset orphaned queued bots; stop spawning on game_full
  • account_pool_store.py Respect per-game player cap, stop looping on game_full
  • bot_worker.py Improved network recovery resilience for startup churn
  • identity.py Bot identity tracking improvements
  • manager/init.py: release account and kill process on bot crash or heartbeat timeout; reset orphaned queued bots on manager restart; stop spawning new bots when game is full remediate internal
    1 file
    • __init__.py
  • account_pool_store.py (+45 lines): respect per-game player cap, stop looping on game_full margin internal
    1 file
    • account_pool_store.py
  • worker/bot_worker.py (+39 lines): improved network recovery resilience for startup churn harden internal
    1 file
    • bot_worker.py

Manager state safety

1 file changed
  • session_manager.py Session manager hardening
  • Handle corrupt bot fields in persisted state gracefully on restart harden internal
    1 file
    • __init__.py
  • core/session_manager.py (+5 lines): session manager hardening harden internal
    1 file
    • session_manager.py

Dashboard state filtering

2 files changed
  • dashboard.html Active filter combining running + recovering + blocked states as default view
  • dashboard.js Dashboard JS updated for active filter and queued bot visibility
  • Added active filter combining running + recovering + blocked states, set as default view instantiate behavioral
    2 files
    • dashboard.html
    • dashboard.js
  • Include queued bots in the active filter so all spawned bots appear immediately after launch instantiate internal
    1 file
    • dashboard.js

AI strategy clamping

1 file changed
  • ai_strategy.py Clamp review_after_turns to valid range
  • Clamp review_after_turns to a valid range instead of rejecting the LLM’s decision outright when it returns an out-of-range value remediate internal
    1 file
    • ai_strategy.py

Parsing and port status fixes

1 file changed
  • parsing.py Remove stale scrollback data from sector parsing; fix port status persistence
  • parsing.py (-83 net): remove stale scrollback data from sector parsing; fix port status persistence across navigations remediate internal
    1 file
    • parsing.py

Learning engine tuning

1 file changed
  • engine.py Disable screen saving by default for swarm bots
  • Disable screen saving by default for swarm bots to reduce noise decouple behavioral
    1 file
    • engine.py

Archive cleanup

2 files changed
  • README.md Archived scripts removed
  • README.md Archived command scripts removed
  • Removed all scripts in scripts/archive/ and src/bbsbot/commands/scripts/archive/ (~6,200 lines of old debug/test scripts) decouple internal
    2 files
    • README.md
    • README.md