zlh-grind/OPEN_THREADS.md

5.8 KiB

Open Threads — zlh-grind

This file tracks active cross-repo and platform-level work only.

Repo-specific work belongs in:

  • Codex/API/OPEN_ITEMS.md
  • Codex/Portal/OPEN_ITEMS.md
  • Codex/Agent/OPEN_ITEMS.md

Keep this file short.


Cross-Repo Active

Final launch smoke test

  • create Minecraft server
  • confirm it reaches Ready / connectable=true
  • verify public game hostname is shown only when connectable
  • upload datapack on vanilla or install mod on supported modded runtime
  • create backup
  • restore backup
  • stop/start/restart host lifecycle actions
  • delete server
  • confirm Velocity unregister, Cloudflare cleanup, and Technitium cleanup

Backup / restore polish

  • happy-path local Minecraft backup create/restore has been verified live
  • API restore starts asynchronously and Portal polls restore status
  • keep restore wording/status transitions clear through completion and restart
  • confirm checkpoint metadata presentation remains clean when exposed to Portal
  • later hardening: persist last restore failure/checkpoint state in Agent /status
  • later hardening: automatic rollback from pre-restore checkpoint if restore apply/start fails after destructive replace

Service discovery / launch validation

  • service discovery migration audit for remaining non-launch hot-path references
  • provisioning validation across current API/Agent/Portal assumptions
  • keep public exposure model explicit:
    • Portal public
    • Minecraft game hostnames public as needed
    • API/control plane/internal bridge/agent/admin services private

Monitoring / observability

  • normalize game/dev Alloy monitoring contract across API discovery, agent-written Alloy labels, Prometheus targets, and Grafana dashboards
  • keep dynamic game/dev discovery on API -> sync script -> file_sd and verify automatic add/remove behavior for new containers
  • finish game/dev template cleanup so Alloy is standard and node-exporter is removed from those templates
  • keep OPNsense plugin and PBS monitoring as explicit platform exceptions while Linux-managed targets converge on Alloy

Notifications / launch polish

  • email notifications across backend contract + Portal UX
  • billing launch validation:
    • plan limit gating verified in Portal
    • still verify checkout/portal/webhook/upgrade-downgrade if Stripe is live

Platform / Infrastructure Active

  • stress testing: k6 IDE load, Minecraft bot load, code-server memory baseline
  • OPNsense / public exposure audit
  • billing endpoint/path cleanup verification

Backup boundary

  • Agent-owned backups are local, app-aware rollback backups for Minecraft worlds/config
  • PBS / platform backup strategy is the durability / disaster-recovery layer
  • do not track PBS/offsite durability work as agent implementation work unless that ownership changes

Recently Verified / No Longer Considered Blocked

  • password reset and logged-in change-password work end-to-end
  • password reset tokens are 5-minute, hashed at rest, single-use, and old unused tokens are invalidated on deploy
  • API-owned Minecraft connection state derives from agent readiness, edge/DNS state, Velocity registration, and backend ping
  • Velocity proxy lifecycle callbacks are live with registered_with_proxy and proxy_ping_ok landing in API state
  • Portal consumes API-owned connectable / connection state and no longer infers Minecraft readiness itself
  • Portal server creation redirects to /servers and tracks setup progress there
  • Portal status labels no longer treat all non-connectable states as Needs attention
  • local Minecraft backup create/restore works end-to-end on live validation
  • restore creates intentional pre-restore checkpoint and API now starts restore asynchronously instead of holding the full request open
  • backup timestamps are normalized and pre-restore checkpoints are filtered from the default backup list
  • agent-backed file edits create shadow copies for revert and API route/stream forwarding issues were fixed
  • vanilla datapack upload works
  • vanilla Mods UI is hidden and direct vanilla mods/ upload is rejected by API
  • NeoForge mod search/install/list works
  • delete/teardown lifecycle removes Velocity, Cloudflare, and Technitium records
  • public exposure model is in place: Portal public, control plane private
  • vanilla / fabric runtime split is restored:
    • vanilla = Fabric-based internal profile with proxy/API/config injection
    • fabric = plain Fabric jar delivery only
  • Forge / Neoforge first-start flow avoids premature readiness gating, applies post-start property enforcement, and restarts through the readiness-aware path
  • current validation indicates Minecraft server creation succeeds across supported runtime variants
  • current validation indicates dev container creation succeeds and hosted IDE access still works after the latest API/Portal runtime and cleanup passes

Platform Future / Phase 2

  • SSH / CF tunnel power-user access
  • Portal SSH config snippets
  • true interactive shell confinement / workspace-boundary decision
  • dev-container backup ownership and user-facing restore contract
  • likely direction for dev backups: LXC snapshot-based backup/restore instead of agent-managed dev backups
  • artifact version promotion
  • runtime rollback support
  • Cloudflare R2 for large artifact/mod delivery
  • admin panel
  • referral / dev pipeline reward system
  • uptime history
  • revisit DDoS mitigation later if needed

Cleaning Rule

  • Root keeps only cross-repo/platform work
  • Repo-specific items must be removed from root once they live only in one Codex tracker
  • Completed items should be removed, not left in place as historical clutter
  • Use CURRENT_STATE.md for durable implemented behavior
  • Use DECISIONS.md for settled choices
  • Re-open old items only when there is current evidence they are still unfinished or have regressed