phase8: production deployment — M3U96a + ngrok www.zyquo.cloud, security headers verified, registry updated
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Showing 1 changed file with +17 and −1
modified
docs/PLAN.md
+17 −1
@@ -163,4 +163,20 @@ chosen providers. Three first-pass failures were all test-harness artifacts | ||
| 163 | 163 | (tiny token budgets on reasoning models, an abort timer slower than Cerebras) |
| 164 | 164 | and retested green. |
| 165 | 165 | |
| 166 | −## Phase 8 — Build & deployment — pending | |
| 166 | +## Phase 8 — Build & deployment | |
| 167 | + | |
| 168 | +- [x] Production build: `npm run check` green (0 type/lint errors), code-split (mermaid/katex lazy), hashed assets, PWA precache trimmed to app shell (1.15 MB) | |
| 169 | +- [x] Zero-dependency production server (`scripts/server.mjs`): CSP (exact 12 provider origins + localhost), HSTS preload, nosniff, Referrer-Policy no-referrer, Permissions-Policy, immutable cache for hashed assets / no-cache HTML, SPA fallback, `/healthz` | |
| 170 | +- [x] Deployed on cluster node **M3U96a** (per user instruction; M2U64 stays prod-reserved): rsync → `~/zyquo-cloud-web`, PM2 `zyquo-cloud-web` (node server.mjs 8080 dist) + `zyquo-cloud-ngrok` (`ngrok http --url=www.zyquo.cloud 8080`), `pm2 save` | |
| 171 | +- [x] Registered in `~/Desktop/cluster-skill/cluster-deployments.json` | |
| 172 | +- [x] Post-deploy verification: **https://www.zyquo.cloud** serves HTTP/2 200 with all security headers; manifest + service worker registered (PWA installable); **light theme default**; first-run notice; **real streaming completion from the deployed origin** (CSP allows providers) — `finished`, token-by-token | |
| 173 | +- [x] Self-hosting documented in README (static bundle + server.mjs or any static host; Zyquo Router pairing) | |
| 174 | +- [x] Final sweeps: every code file carries the Author/Mail header; storage/network layering intact | |
| 175 | +- [ ] ⚠ Apex `zyquo.cloud` → `www` redirect: the apex currently has **no DNS record** — needs a registrar-level ALIAS/forward to `www.zyquo.cloud` (requires registrar access; the only item outside this environment's reach) | |
| 176 | + | |
| 177 | +**Phase 8 summary.** Zyquo Cloud Web is live at **https://www.zyquo.cloud**, | |
| 178 | +served as static assets from cluster node M3U96a through the user's ngrok | |
| 179 | +domain, under PM2 with the process list saved. Security headers verified on | |
| 180 | +the wire, the PWA installs, light loads by default, and a live provider stream | |
| 181 | +was rendered from the deployed origin. The single open item is the apex DNS | |
| 182 | +record (registrar access required). | |
| 167 | 183 | |