zlh-grind/Codex/API/OPEN_ITEMS.md

4.7 KiB

API — Open Items

Only keep unfinished API-owned work here.

Launch / validation active

  • Normalize backup response shape: define canonical success bodies for list/create/restore/delete and a stable error envelope that preserves agent details.
  • Live-validate billing backup mutation gates against a game backup fixture with backups available.
  • Live-validate file read/list behavior against a responsive Agent while billing state is suspended/retained; policy should allow read/list/download and block mutations.
  • Verify canonical and compatibility file routes still behave identically across list/stat/read/download/delete/put/revert/upload paths after helper extraction.
  • Align merged live-status readiness fields so Portal-facing agentReady semantics fully match semantic /ready.
  • Live-verify Velocity bridge lifecycle callbacks after ZPACK_PROXY_STATUS_ENDPOINT is set: confirm registered_with_proxy, proxy_ping_ok, and proxy_ping_failed land in ContainerInstance.payload.proxy and surface through GET /api/servers/:id/status.
  • Verify Proxmox node resolution against all active container ranges; recent local smoke checks showed some DB VMIDs not present in /cluster/resources or on the configured node.
  • Add queue staleness visibility/alerts for provisioning, repair, and billing_enforcement if not already covered by monitoring/controller logs.
  • Remove or downgrade the temporary MaxListenersExceededWarning tracer in src/app.js after outbound Axios socket listener warnings are confirmed quiet in runtime logs.

Launch architecture follow-ups

  • Controller should remain conservative; Level 2 repairs such as agent/workload restart stay disabled until separately validated.
  • Decide when to move controller from dry-run to default Level 1 auto-repair after observing noise and repair recommendations.
  • Keep billing worker scoped to billing enforcement only; do not add new worker/systemd services before launch without a strong safety-boundary reason.
  • Support ticket post-launch enhancements belong outside launch blocker scope: admin ticket list/view, support triage diagnostics, self-hosted helpdesk integration, inbound reply parsing, attachments.

Cleanup / consolidation priorities

  • Fold repeated ownership/auth/IP-guard patterns into small concrete helpers without hiding route intent.
  • Split oversized route/service files by responsibility without changing route contracts.
  • Keep backup/restore status shaping and async-dispatch logic explicit, but remove duplicated mapping/normalization paths where possible.
  • Keep stream-vs-JSON forwarding rules centralized in one place and avoid route-local reimplementation.
  • Keep legacy flows out of the live tree unless they are intentionally revived and revalidated against the current schema/contracts.

Completed and moved out of active cleanup

  • Node/runtime pinning is current repo state.
  • node-fetch removal and built-in fetch migration are complete.
  • Initial file-proxy route deduplication is complete; only compatibility verification remains open.
  • Prisma config migration is complete.
  • Baseline proxy cookie/log hardening is complete.
  • Initial control-plane hardening is complete.
  • Teardown workflow has been extracted into a service and live-verified.
  • Repo hygiene pass removed checked-in key/token/artifact/legacy clutter and tightened ignore rules.
  • Async provisioning worker is implemented, systemd-backed, and live-validated for game and dev creates.
  • Provisioning idempotency/no-key guard and controlled failure handling have been validated.
  • Controller/reconciler foundation, repair queue, Discord notifications, stale-operation repair, and live edge drift repair have been implemented and validated.
  • Billing enforcement backend, Stripe idempotency, API gates, billing worker, and controller billing guards have been implemented and validated.
  • Support ticket route, DB ticket creation, customer acknowledgement email, and Discord support alert have been implemented and validated.

Cleanup rule

  • Prefer behavior-preserving folding over broad refactors.
  • Merge repeated flows, not concepts.
  • Keep helpers small and concrete.
  • Reduce route-local duplication before introducing new abstractions.
  • Treat security/runtime changes as contract-sensitive validation work once they affect auth, cookies, or route compatibility.

Verify before re-opening

  • hosted IDE token + hosted URL flow
  • backup forwarding semantics
  • readiness polling/cache behavior
  • quota enforcement on create flow
  • restore async-start contract + status polling semantics
  • streamed file edit/revert forwarding through both canonical and compatibility routes
  • older-session re-login behavior after JWT tightening

Not API-owned

  • agent-local backup implementation details
  • portal-only UX/polish
  • PBS / infra backup strategy