diff --git a/OPEN_THREADS.md b/OPEN_THREADS.md index 9e824fc..97453f2 100644 --- a/OPEN_THREADS.md +++ b/OPEN_THREADS.md @@ -45,6 +45,26 @@ Outstanding: Completed: - crash recovery with backoff - crash observability and classification +- unified readiness-aware start / restart path across manual start, restart, autostart, and supervisor recovery +- dead duplicate crash monitor removed +- `/ready` endpoint added and operation/maintenance state surfaced through `/status` +- guarded operation lock added for mutating / stateful flows +- console command endpoint hardened +- agent self-update rollback symlink handling corrected + +### Game Server Backups +Completed: +- first guarded Minecraft backup flow implemented in agent +- local backup create/list/restore endpoints added +- live backup uses `save-all flush` -> `save-off` -> archive -> `save-on` +- restore stops server, waits for exit, restores manifest-declared paths, then restarts through readiness-aware path + +Outstanding: +- pre-restore safety checkpoint +- remote backup storage / transfer path +- backup job history / progress beyond current operation state +- retention policy refinement beyond initial local pruning +- real-world validation on live Minecraft server ### Fabric Readiness Gating Status: startup rehydrate path fixed in plugin and both happy-path and negative-path startup validation passed. @@ -109,12 +129,17 @@ Completed: - persisted scheduled downgrade state (`scheduledPlan`, `scheduledPlanEffectiveAt`) - plan-based quota enforcement in `POST /api/instances` - password reset request + confirm flow implemented +- agent contract updated for POST control actions, `/ready`, operation state, and backup routes +- API backup forwarding added for list / create / restore +- agent `409` conflict and readiness-oriented error handling preserved instead of collapsing to generic `500` +- Velocity routing made more conservative around missing readiness Outstanding: - simplify and harden host-native `devProxy` - dev runtime catalog endpoint for portal - Headscale auth key generation - service discovery migration for remaining hot-path `internal.zlh` references +- normalize backup response shape now that portal is tolerating multiple field names --- @@ -135,19 +160,27 @@ Completed: - forgot-password + reset-password pages and login linkage - first-login onboarding modal with quick/full tour and skip - dashboard IA refresh: spotlight server card replaces duplicate mini-listing +- operation / maintenance state surfaced in game server UI +- first backup UI added for list / create / restore +- targeted `409` / `503` messaging added for operation conflict and not-ready states +- console command submission updated to POST JSON Outstanding: - confirm "Open IDE" button fully uses hosted URL flow - SSH config snippet for power users - email notifications - remove `testdaemon` binary from repo root +- fix console page action gating so stopped MC servers remain startable while console send stays gated to running + ready --- ## Game Servers +Completed: +- first local Minecraft backup / restore flow wired end-to-end through agent, API, and portal + Outstanding: -- game server world backup / restore +- harden world backup / restore with pre-restore checkpoint, remote storage, and live validation - game server subdomain / player connection method verification --- @@ -175,7 +208,7 @@ Optional / Nonessential: ## Pre-Launch Checklist Outstanding before launch: -- game server world backup / restore +- harden game server world backup / restore (checkpoint + remote storage + validation) - game server subdomain verification - email notifications - upload testing @@ -186,6 +219,7 @@ Outstanding before launch: - service discovery migration - provisioning validation - remove `testdaemon` from `zpack-portal` +- portal console gating fix for stopped-but-startable MC servers ---