Commit Graph
169 Commits
Author SHA1 Message Date
josh 8d1331c67d Add automatic agent updates with verified rollback 2026-10-04 10:40:45 -04:00
josh 020894b816 Remove host files and uninstall agent when deleting hosts 2026-10-04 10:20:51 -04:00
josh 62d7817ea3 Clarify host readiness when game files or runtime are missing 2026-10-04 10:03:43 -04:00
josh 3d62dfff27 Add clear host deletion controls with workload safeguards 2026-10-04 09:59:27 -04:00
josh 840f02b53e Support resumable game folder uploads and remove DLC declarations 2026-10-04 09:51:45 -04:00
josh 95cf7dd36f Lower account password minimum to eight characters 2026-10-04 09:29:55 -04:00
josh e5c0fda1ed Add native host management and role-based operator authentication
Introduce an outbound Python host agent, Debian installer, durable remote
operations, immutable game-file libraries, host-aware deployments and ports,
and occupancy-safe campaigns and draining. Native hosts do not require Komodo.

Add administrator, operator and viewer accounts, protected management routes,
secure sessions, password recovery, audit history and separate telemetry tokens.
Document first-admin setup, reporter migration and live-host acceptance checks.

Validation: 1,343 TypeScript tests and 39 agent tests passed, along with type
checking, the production build, compiled SSR/API smoke tests and administrator
recovery. Real Debian/Docker T5/T6 acceptance remains unrun.
2026-10-03 11:42:36 -04:00
josh d7b3e124e6 Add real time, match duration, and round context to chat 2026-10-02 13:21:55 -04:00
josh 65d3a99846 Fix transient health checks and avoid unnecessary recovery 2026-10-02 13:06:18 -04:00
josh 221c4c10cf Reuse leaderboard aggregates and add repeatable benchmarks 2026-10-01 12:33:11 -04:00
josh eac9ad4fbc Preserve leaderboard context in player profiles 2026-10-01 12:23:30 -04:00
josh 47ebe83106 Add qualified efficiency leaderboard rankings 2026-10-01 12:16:27 -04:00
josh c7d71c63ba Link personal bests to their recorded matches 2026-10-01 12:12:21 -04:00
josh 13963cba1c Count only completed games in player leaderboards 2026-10-01 12:05:19 -04:00
josh 0cb48c435e Suppress maintenance watchers during provisioning
Keep maintenance observations and automatic requests clear of active lifecycle operations and retained recovery capacity while preserving owned recovery and explicit retries.

Fixes #55
2026-10-01 11:54:22 -04:00
josh a3cd3ee585 Add completed match detail pages 2026-10-01 11:45:23 -04:00
josh aa0223c35d Add configurable server destruction concurrency 2026-10-01 11:29:55 -04:00
josh 30030599d6 Rank each player once across T5 and T6 2026-09-28 15:22:11 -04:00
josh 61d4eebfea Unify player profiles across T5 and T6 2026-09-28 15:04:57 -04:00
josh a4a5298408 Verify Plutonium revisions during provisioning 2026-09-28 14:50:06 -04:00
josh 3fb59cd598 Complete provisioning job detail pages and lifecycle evidence 2026-09-28 14:17:19 -04:00
josh 5b65520bbc Clarify provisioning wait messages (fixes #54) 2026-09-28 10:21:52 -04:00
josh 2fa3792482 Fix active and match timer drift between status polls
Persist occupancy transitions with telemetry and carry timer anchors through live updates. Cover delayed polling, lobby rejoining, and lifecycle boundaries with regression tests.

Fixes #47
2026-09-27 23:29:04 -04:00
josh b904ddbc48 Block server destruction while linked to an active beta
Protect individual, bulk, and queued removals and rebuilds until beta closure. Recheck ownership before teardown and reject beta admission during pending or unresolved destruction.

Fixes #36
2026-09-27 23:21:37 -04:00
josh fb48f64de1 Defer server file changes until guarded restart activation
Persist beta, promotion, drift, and rollback payloads until occupancy and restart-capacity checks pass. Preserve rollback snapshots and campaign ordering, and allow held rollback campaigns to resume safely.

Fixes #28

Validation: 805 tests passed, Svelte checks clean, production build passed.
2026-09-27 23:06:16 -04:00
josh eb2a852fdc Add experimental metrics insights, comparisons, and scope filters 2026-09-27 22:34:56 -04:00
josh 3922e28ca8 Improve metrics clarity, exploration, and refresh reliability 2026-09-27 22:12:11 -04:00
josh 981fb27c1c Preserve deleted server history
Retain historical server identities, results, and evidence after deletion. Mark archived entries as Deleted and prevent old work from targeting servers that reuse the same name.

Fixes #16.
2026-09-27 21:48:55 -04:00
josh 4fe8613678 Move fleet retention and concurrency controls into Settings
Persist settings in SQLite, import legacy environment values once, and apply changes to cleanup and deployment queues without restarting.

Closes #51
2026-09-27 16:11:45 -04:00
josh fc46cb9da4 feat: unify recovery, updates, and schedules under Maintenance 2026-09-27 16:00:18 -04:00
josh 8ea696417f fix: honor Komodo health and prefer fresh telemetry across fleet status 2026-09-27 15:34:30 -04:00
josh b9f5902945 feat: add Watchdog recovery and drift rebuild workflows 2026-09-27 15:13:38 -04:00
josh a7044f21a1 Rename blueprints to Collections and add Operations tab
Fixes #46
2026-09-27 14:50:55 -04:00
josh df265d1900 refactor: make provisioning own instance lifecycle operations 2026-09-27 14:45:00 -04:00
josh cfed584614 feat: add provisioning lifecycle actions
Rename Deployments to Provisioning with compatible redirects and APIs. Add durable Start, Restart, Stop, and Rebuild operations alongside Create and Destroy; rebuild wipes the instance and recreates it in the same slot and port.

Add lifecycle, migration, recovery, and Komodo command tests. Type checks and production build pass; the full suite retains a telemetry assertion failure reproduced on the unchanged branch.

Refs #39
2026-09-27 14:20:04 -04:00
josh 0b0e5b5bdb feat: match fleet to blueprint targets exactly
Add an optional exact blueprint mode with keep/create/remove previews, atomic queueing, cancellation of unstarted excess creations, and persistent dependencies for safe port reuse. Track removals alongside creations and preserve fill mode as the default.

Validation: type check, production build, and 103 deployment tests passed. The full suite has one telemetry assertion failure also reproduced on the previous commit.

Fixes #42
2026-09-27 13:36:08 -04:00
josh ce6861203e Use user timezone for maintenance and official Plutonium manifest 2026-09-21 19:14:40 -04:00
josh 47d6dc07b7 Add Plutonium version checks and scheduled rolling restarts 2026-09-21 18:47:24 -04:00
josh 424d6cefb6 Exclude round one records from match history and statistics 2026-09-21 18:07:30 -04:00
josh 1e6ff3abbf Add player timing and profile links to server scoreboard 2026-09-20 22:03:58 -04:00
josh 3a63e6d3ce Add Metrics tab with historical server utilization and map capacity 2026-09-20 21:58:08 -04:00
josh 3c8b5b2e40 Add global match history and ending timestamps 2026-09-20 21:44:36 -04:00
josh fc681c56c9 Add persistent match history to server pages 2026-09-20 21:35:35 -04:00
josh 44b6415821 Show provisioning status during server creation 2026-09-19 22:53:24 -04:00
josh 5985959882 Show resetting state after game end 2026-09-19 22:50:17 -04:00
josh 33f2f123c5 Add player profiles with lifetime stats and map records 2026-09-19 22:24:35 -04:00
josh ce0321a6e9 Add heartbeat telemetry support 2026-09-19 21:52:05 -04:00
josh 8ac420fe61 Improve operational UX, recovery flows, and action safety
Implement the approved UX review across Fleet, Betas, Library, deployments, and Settings. Add reviewed promotion and reconciliation plans, atomic queued-removal cancellation, recoverable beta drafts and launch inputs, accessible controls, and mobile improvements.

Validated with 473 tests, a clean typecheck, production build, and isolated desktop/mobile browser walkthroughs. Include the review and implementation coverage notes.
2026-09-19 21:34:34 -04:00
josh f171889dfb Pace collection startups and clarify deployment queue progress 2026-09-19 20:33:08 -04:00
josh 345839fbd4 Use current promoted files for blueprint launches 2026-09-19 19:58:30 -04:00