{"type":"meta","slug":"cloudpanel-legacy-restoration-resume","base_branch":"fix/cloudpanel-runtime-health","gate0_mode":"strict","preset":"codex"}
{"type":"goal","text":"Review, land, deploy, and live-verify the stopped CloudPanel01 legacy backend remediation without altering other environments or the production staff panel."}
{"type":"methodology","text":"Checkpoint the stopped task-owned diff, independently review it, reuse valid clean receipts, deploy API and worker only, observe live behavior, and roll back immediately on failure."}
{"type":"intent","text":"Restore a reliable International Press Zone client demonstration on the proven CloudPanel01 legacy backend while the Cloudflare replacement remains unfinished."}
{"type":"direction","verbatim":"stop all work and /handoff"}
{"type":"direction","verbatim":"why are you setting up anything local? We need it only on cloudpanel01"}
{"type":"direction","verbatim":"update security-guard skill to use /ask-codex instead of cx.sh"}
{"type":"gated","id":"g-resume","category":"input","needs":"A future user must explicitly resume, and the exact stopped task-owned working-tree diff must first be committed locally on fix/cloudpanel-runtime-health without unrelated files or secrets.","why":"run-plan worktrees inherit commits, not the current uncommitted shared-tree implementation; launching before checkpointing would omit the remediation.","options":["proceed","abort"],"default":null,"status":"OPEN","answer":null,"resolved_by":null,"source":"author","binds_meta":null}
{"type":"anchor","path":"docs/plans/2026-07-30-cloudpanel-legacy-restoration-resume.md","what":"plan"}
{"type":"anchor","path":"press-zone-backend/docs/plans/2026-07-19-cf-golive-test-plan.md","what":"existing go-live plan"}
{"type":"task","id":"t1","wave":1,"seat":"coder","tier":"high","desc":"Read docs/plans/2026-07-30-cloudpanel-legacy-restoration-resume.md Task 1 (Independent adversarial review and fixes) for the full contract. Review the checkpoint diff through /ask-codex and fix every confirmed blocker surgically. Acceptance: git diff --check origin/master...HEAD. Commit only: task-owned paths named by confirmed review findings.","requires_decision":"g-resume"}
{"type":"task","id":"t2","wave":2,"seat":"coder","tier":"medium","desc":"Read docs/plans/2026-07-30-cloudpanel-legacy-restoration-resume.md Task 2 (Final clean validation receipt) for the full contract. Reuse valid receipts and rerun only invalidated checks before the final clean gate. Acceptance: cd api && npm run build && npm test -- --runInBand. Commit only: no source paths unless a failed gate exposes and verifies a task-owned defect.","requires_decision":"g-resume","deps":["t1"]}
{"type":"session_memory","note":"User ordered all work stopped on 2026-07-29/30. Production remains unchanged and online; no backend commit, push, merge, or deployment occurred after the uncommitted remediation."}
{"type":"session_memory","note":"Rollback DB: /home/press-api/backups/press-zone-legacy-restore/translate-db-20260729T151410Z.dump, sha256 609135fdc063776cb50a7477119895659a74c64361394a64d428f97ee54e979c. Rollback images: localhost/presszone-api:rollback-20260729T151624Z and localhost/presszone-worker:rollback-20260729T151624Z."}
{"type":"session_memory","note":"Before stop, Prisma generation and TypeScript build passed; Jest passed 32/32 suites and 539/539 tests without warnings; fresh/ambiguous/remediated migration and Compose missing/valid encryption-key checks passed. Independent review verdict remains unknown."}
{"type":"session_memory","note":"After task execution publishes successfully, delivery controller must deploy CloudPanel01 API/worker only and perform the full live verification/rollback contract in the plan. Do not cut over to Cloudflare Worker."}
