uwarp-space 2026-03-15
Escape pod mechanics, TransWarp/rob sim tests, migration to undef-telemetry, three-way parity testing, persistent session state across DO hibernation, and TWINDEX.NDX planet-to-sector parsing
296 files · 22,398+ · 3,454-

Escape Pod Mechanics

2 files changed
  • _purchases_hardware.py Escape pod purchase and activation wired; gated behind pod_rescue_enabled server config (K26/K27)
  • combat.py Escape pod activated on all death paths
  • Escape pod purchase, activation, and death integration implemented instantiate behavioral
    2 files
    • _purchases_hardware.py
    • combat.py
  • Escape pod activated on all death paths harden behavioral
    1 file
    • combat.py
  • Escape pod gated in hardware emporium behind pod_rescue_enabled server config (K26/K27) baseline behavioral
    1 file
    • _purchases_hardware.py

TransWarp, Rob Alignment, and Sim Tests

2 files changed
  • _tests_escape_pod.py Escape pod parity test added
  • trading.py TransWarp simulation test and rob alignment/success rate simulation tests added
  • TransWarp simulation test implemented; rob alignment and rob success rate simulation tests added qualify internal
    1 file
    • trading.py

Persist Terminal Session State Across DO Hibernation

2 files changed
  • terminal_session.py Session state persisted and restored across DO hibernation; WebSocket key stabilized using serialized attachment
  • do_store.py Session state storage implemented in DO store
  • Cloudflare Durable Object now persists and restores terminal session state across hibernation cycles interface behavioral
    1 file
    • terminal_session.py
  • WebSocket key stabilized using serialized attachment instead of ws_id for consistency across reconnects interface behavioral
    1 file
    • terminal_session.py
  • Session state fixed to use a stable key for persistence (not ws_id) remediate internal
    1 file
    • do_store.py

Three-Way Parity Comparison

1 file changed
  • parity_check.py Three-way parity testing comparing FastAPI vs Cloudflare DO vs TWGS Gold
  • Three-way parity testing framework added comparing FastAPI, Cloudflare DO, and TWGS Gold behavior simultaneously qualify behavioral
    1 file
    • parity_check.py
  • Enables detecting divergence across all three deployment targets simultaneously qualify behavioral
    1 file
    • parity_check.py

CF Worker Full Terminal Input Handling

1 file changed
  • ws_handlers.py Full keyboard input handling added in CF Worker terminal source package
  • Full keyboard input handling added in the Cloudflare Worker terminal source package instantiate behavioral
    1 file
    • ws_handlers.py

Parse TWINDEX.NDX for Planet-to-Sector Linkage

2 files changed
  • sqlite.py TWINDEX.NDX table 8 parsed to map planet IDs to host sectors
  • test_twindex_planet_sectors.py Tests for planet-to-sector linkage parsing
  • TWINDEX.NDX table 8 parsed to map planet IDs to their host sectors instantiate internal
    1 file
    • sqlite.py
  • Supports correct planet initialization and sector linkage in parity tests qualify internal
    1 file
    • test_twindex_planet_sectors.py

Migration to undef-telemetry

3 files changed
  • logging.py uwarp.logging migrated from structlog to undef-telemetry
  • structlog.py CF Worker custom structlog shim replaced with undef-telemetry integration
  • events.py Strict event name validation disabled in CF Worker bundles; 413+ logger event names converted to snake_case
  • uwarp.logging and all server code migrated from structlog to undef-telemetry decouple behavioral
    1 file
    • logging.py
  • undef-telemetry integrated into CF Worker, replacing the custom structlog shim decouple behavioral
    1 file
    • structlog.py
  • 413+ multiline logger event names converted to snake_case for telemetry compliance decouple behavioral
    1 file
    • events.py
  • Strict event name validation disabled in CF Worker bundles; undef-telemetry dependency switched from local path to PyPI baseline behavioral
    1 file
    • structlog.py

Parity Suite Expansion

1 file changed
  • parity_check.py Parity tests for bank interest, combat, underground, escape pod; multiplayer commands with social_enabled toggle; 30 new tests; bank loans gated
  • Parity tests added for bank interest, combat, underground, and escape pod qualify internal
    1 file
    • parity_check.py
  • Multiplayer commands added with social_enabled toggle + 30 new tests qualify behavioral
    1 file
    • parity_check.py
  • Bank loans gated behind server config toggle; NPC encounters disabled during parity runs baseline behavioral
    1 file
    • bank.py

TWGS Parity Fixes

3 files changed
  • trading.py Trading XP grant removed (TWGS Gold has no trading XP); 25 test assertions updated
  • trading.py Haggle markup fixed; FedSpace attack gate corrected
  • planet.py Planet owner index: uses > 0 guard not >= 0; home planet values fixed
  • Trading XP grant removed — TWGS Gold has no trading XP; 25 test assertions updated to match qualify behavioral
    1 file
    • trading.py
  • Haggle markup, FedSpace attack gate, and custom feature disabling corrected remediate behavioral
    1 file
    • trading.py
  • Planet owner index corrected to use > 0 guard; character home planet values fixed to match TWGS Gold GameF; beacon_deploy parity fixed (TWGS Gold uses R not M) remediate internal
    1 file
    • planet.py

Worker DO Bug Fixes

2 files changed
  • terminal_session.py bridge skips interactive loops when reader=None; re-raise reader AttributeError fixed; seed os.environ fixed in DO constructor
  • seed.py os.environ seeded from CF Workers env object in DO constructor
  • bridge now skips interactive loops when reader=None; terminal handles menus/prompts directly remediate internal
    1 file
    • terminal_session.py
  • os.environ seeded from CF Workers env object in DO constructor; re-raise reader AttributeError from bridge dispatch fixed remediate internal
    1 file
    • seed.py