uwarp-space 2026-02-21
Monorepo bootstrapped from undef-warp with SysOp API, metrics infrastructure, and fixture galaxies
2872 files · 359,245+ · 146,706-

SysOp API with OpenAPI spec

6 files changed
  • app.py SysOp API application wired with FastAPI
  • data_files.py Parser-backed data files router
  • ships.py Ships router promoted to canonical endpoint
  • factions.py Factions router promoted to canonical endpoint
  • globals.py Global command handler added (137 lines)
  • terminal.js ANSI black fixed to #000 in xterm.js theme
  • Added full OpenAPI spec for SysOp API (sysop.openapi.json, sysop.openapi.html, sysop.openapi.render.json) qualify behavioral
    1 file
    • sysop.openapi.json
  • Added OpenAPI generation and rendering scripts instantiate internal
    2 files
    • generate_sysop_openapi.py
    • render_sysop_openapi_html.sh
  • Global command handler added (137 lines) instantiate behavioral
    1 file
    • globals.py
  • SysOp routers promoted: ships, bosses, factions to canonical routers; data_files router added (parser-backed) instantiate internal
    4 files
    • ships.py
    • bosses.py
    • factions.py
    • data_files.py
  • ANSI black fixed to remediate internal
    1 file
    • terminal.js
  • Added sysop test suites (data_files, operational_endpoints, planet_classes, ship_classes, system, alien_races) qualify internal
    3 files
    • test_alien_races.py
    • test_auth.py
    • test_config.py

Metrics infrastructure

2 files changed
  • __init__.py Monitoring package with RequestCounter, LoginCounter, SnapshotStore, MetricsCalculator
  • maintenance_executor.py Maintenance executor with metrics wiring
  • Added monitoring package with RequestCounter (rolling RPS/error rate), LoginCounter (logins-per-hour), SnapshotStore (hourly/daily trends), and MetricsCalculator interface internal
    2 files
    • __init__.py
    • maintenance_executor.py
  • Added 5 monitoring test files covering all monitoring components qualify internal
    5 files
    • test_login_counter.py
    • test_metrics_calculator.py
    • test_request_counter.py
    • test_snapshot_store.py
    • test_middleware_wiring.py
  • Shutdown unblocking and connection wait_closed timeouts added to telnet transport instantiate behavioral
    1 file
    • telnet.py

Computer commands matched to TW2002 behavior

3 files changed
  • reports.py R (port report), C (ship catalog), N (personal settings) fixed after live verification
  • settings.py Settings command rework
  • registry.py Registry updated
  • R (port report), C (ship catalog), N (personal settings) fixed to match TW2002 behavior after live verification remediate behavioral
    1 file
    • reports.py
  • Settings command reworked baseline behavioral
    1 file
    • settings.py
  • Personal Planet Scan (Y command) header and two-row format implemented; MM/DD/YY date format for daily log D command instantiate internal
    1 file
    • reports.py
  • Added computer planets test suite (114 lines) qualify internal
    1 file
    • test_computer_planets.py

ANSI art wired into commands

1 file changed
  • display.py ANSI art wired into commands; render ordering fixed
  • ANSI art wired into commands; render ordering fixed remediate behavioral
    1 file
    • display.py
  • QA deviation tracking updated: ANSI art, hardware, library all marked FIXED; 0 intentional deviations remaining remediate internal
    1 file
    • qa-comparison-report.md

TUI search and filter

1 file changed
  • app.py Search/filter with Input widget overlay; row selection index corrected
  • Search/filter with Input widget overlay implemented; row selection index corrected remediate internal
    2 files
    • app.py
    • table.py

Storage safety and connection cleanup

2 files changed
  • game_state.py close(), __del__, context manager added for SQLite connection cleanup on GC
  • schema.py Schema extended; _meta table absence handled for older DBs
  • Added close(), del, and context manager to ensure SQLite connection cleanup on GC harden internal
    1 file
    • game_state.py
  • Schema extended; _meta table absence handled for older DBs interface internal
    1 file
    • schema.py
  • Added _serialize_gamestat for GameStatRecord INI serialization instantiate internal
    1 file
    • game_state.py
  • conn.close() wrapped in try/except to prevent unraisable exceptions during GC harden internal
    1 file
    • game_state.py
  • File locking stress test moved to proper location; gold fields test added qualify internal
    1 file
    • test_gold_fields.py

Fixture galaxies for parser verification

1 file changed
  • manifest.yaml TWGS BigBang galaxy fixture files for 10 test galaxies
  • Added TWGS BigBang galaxy fixture files for 10 test galaxies with GAMESTAT.LST for all 10 qualify internal
    1 file
    • manifest.yaml
  • Added fixture galaxy parser test (383 lines, 161 tests across 10 galaxies) qualify internal
    1 file
    • test_fixture_galaxies.py
  • Added config roundtrip test (29 lines) qualify internal
    1 file
    • test_config_roundtrip.py

Dead code and script removal

1 file changed
  • demo_uwarp_cli.py Demo and one-off test scripts deleted (3800+ lines total)
  • Deleted demo_uwarp*.py and all scripts/test_*.py one-off test scripts (3800+ lines total) deprecate internal
    1 file
    • demo_uwarp_cli.py
  • Deleted tools/migration/ helper scripts (fix_imports, refactor phases, etc.) deprecate internal
    1 file
    • fix_imports.py
  • Deleted frontend/cli/reports/bbs_log.py (28 lines) deprecate behavioral
    1 file
    • bbs_log.py

Monorepo and migration documentation

4 files changed
  • AGENTS.md Agent/automation strategies
  • monorepo-migration-plan.md Monorepo migration plan (195 lines)
  • monorepo-agent-strategies.md Agent strategies for monorepo (84 lines)
  • monorepo-cutover-checklist.md Cutover checklist (54 lines)
  • Added AGENTS.md with agent/automation strategies (43 lines) instantiate internal
    1 file
    • AGENTS.md
  • Added monorepo migration plan, agent strategies, and cutover checklist documentation specify architectural
    3 files
    • monorepo-migration-plan.md
    • monorepo-agent-strategies.md
    • monorepo-cutover-checklist.md
  • QA report updated; all deviations resolved specify internal
    1 file
    • qa-comparison-report.md

Monorepo package scaffolding and migration

4 files changed
  • pyproject.toml Public uwarp package skeleton
  • pyproject.toml Private uwarp-server package skeleton
  • pyproject.toml Core runtime package
  • pyproject.toml Game logic package
  • Bootstrapped uv workspace with package skeletons (uwarp, uwarp-server, uwarp-core, uwarp-game, uwarp-sysop, uwarp-worker) baseline architectural
    4 files
    • pyproject.toml
    • pyproject.toml
    • pyproject.toml
    • pyproject.toml
  • Added plugin loader, runtime wrapper, and default plugin runtime scaffold instantiate internal
    1 file
    • runtime.py
  • Synced full upstream runtime, worker, and test suites into monorepo package layout baseline internal
    2 files
    • __init__.py
    • __init__.py
  • Added logging compatibility shim for migrated modules instantiate internal
    1 file
    • __init__.py
  • Alias and mercenary_expire_turn fields added to Gold player record parsing instantiate internal
    1 file
    • player.py
  • Stardock command fixes (entertainment, purchases, police) remediate behavioral
    3 files
    • entertainment.py
    • purchases.py
    • police.py
  • Command fixes (trading, combat, display) remediate behavioral
    3 files
    • trading.py
    • combat.py
    • display.py
  • Worker schema updated interface internal
    1 file
    • schema.py
  • Dead code removed from alien AI deprecate internal
    1 file
    • alien_encounter.py
  • Formatter/linter cleanup: ruff issues resolved, mypy file-level disables replaced with targeted ignores baseline errata
    1 file
    • pyproject.toml
  • xdist loadscope added to pytest config qualify internal
    1 file
    • pytest.ini