From 969e49d971b2a828f5624458ddd8584f57cedbb3 Mon Sep 17 00:00:00 2001 From: jester Date: Sun, 1 Mar 2026 23:16:39 +0000 Subject: [PATCH] docs: replace with current open threads only (upload timeout, dev fs model, curated provenance) --- OPEN_THREADS.md | 141 +++++++++++++++++------------------------------- 1 file changed, 50 insertions(+), 91 deletions(-) diff --git a/OPEN_THREADS.md b/OPEN_THREADS.md index c3f3e69..cc2b71e 100644 --- a/OPEN_THREADS.md +++ b/OPEN_THREADS.md @@ -1,6 +1,48 @@ -# Open Threads — ZeroLagHub +# Open Threads -This document tracks **known open questions and deferred decisions**. +## 1. Upload Transport Timeout Tuning + +Need: +- Clear separation of timeout categories +- Distinguish: + - client abort + - upstream timeout + - socket reset + +Upload route should log explicit error categories. + +--- + +## 2. Dev Server Filesystem Model + +Game servers are complete. +Dev server file model still requires planning. + +Not yet designed: +- dev runtime layout +- artifact promotion strategy +- dev file editing scope + +--- + +## 3. Curated Provenance + +Future possibility: +- curated installs writing metadata +- tracking install origin (Modrinth, manual, etc.) + +Not implemented. + +--- + +## 4. Optional Future Features + +- In-browser config diff viewer +- Upload progress UI +- Upload cancellation +- Log search (not tail) + +None currently implemented. --- @@ -14,92 +56,9 @@ This document tracks **known open questions and deferred decisions**. - ✅ Game telemetry router separation (`/api/game/*`) - ✅ Agent Phase 1 mod management endpoints - ✅ Agent process metrics endpoint -- ✅ Minecraft readiness probe + restart race mitigation (initial) -- ✅ Modrinth resolver + full mod lifecycle (install / enable / disable / delete) - ---- - -## Still Open (Phase 1 / Go-to-market) - -### File Browser (Next Major Feature) - -Planned endpoints: - -**Agent:** -- `GET /game/files?path=` -- `GET /game/files/download?path=` -- `POST /game/files/upload?path=` -- `DELETE /game/files?path=` -- `PATCH /game/files` (rename) - -**API:** -- Mirror under `/api/game/servers/:id/files` - -**Frontend:** -- Directory tree -- Upload -- Delete -- Download -- Restore deleted mods from `/mods-removed` - -**Security requirements:** -- Hard-root to `serverRoot` — no escaping -- Prevent path traversal -- Enforce size limits on upload -- Auth + ownership required on all endpoints - -### API: Error mapping refinement -- `"mod already exists"` → `409 Conflict` (currently returns `502`) - -### API: Response corruption verification -- One early `curl` output appeared corrupted during mod install testing -- Reproduce cleanly with `curl -sS -D headers.txt -o body.txt ...` before portal wiring - -### API: Process metrics proxy -- `GET /api/game/servers/:vmid/metrics/process` -- Decide caching shape (Redis keys + TTLs): likely low TTL (5–10s) - -### Artifacts: Vanilla MC versions -- Currently at 1.21.7; need to add 1.21.8 through 1.21.11 -- Source: `piston-meta.mojang.com/mc/game/version_manifest_v2.json` - -### Provisioning & scale validation -- Validate concurrent provisioning (multi-user, parallel creates) -- Stress-test agent update checks under load (notify/auto modes) -- Confirm safe limits for restart/backoff behavior - ---- - -## Still Open (Polish / Phase 2) - -### Console UI -- Finalize player list UX (overlay vs inline) -- Final accessibility/contrast pass - -### Agent hardening -- Rollback behavior if a new agent fails health checks after update -- Optional manifest signing (minisign/GPG) - -### Mod system hardening -- Deterministic Modrinth project ID persistence (replace heuristic installed-detection) -- Install queue for concurrent requests -- Auto-update detection logic -- Retention policy for `/mods-removed` - -### Game platform roadmap -- Modpack-first install flow (server files + manifests) -- Engine abstraction for additional games (Rust/Terraria/Valheim) - -### Dev → Game pipeline -- See `docs/architecture/dev-to-game-artifact-pipeline.md` -- Blocked on: file browser complete + mod system stable - ---- - -## Explicit Non-Goals (for now) - -- In-console player management actions -- Live chat overlays -- Grafana iframe embedding for customers -- Per-player stats in the main console -- Arbitrary mod uploads without scanning/sandboxing +- ✅ Minecraft readiness probe + restart race mitigation +- ✅ Modrinth resolver + full mod lifecycle +- ✅ Direct runtime upload model (no staging, no symlinks) +- ✅ `.zlh_metadata.json` provenance tracking +- ✅ Raw `http.request` streaming in API upload proxy +- ✅ Filesystem architecture docs consolidated