Hosting runbook
What runs where, and how to inspect it. The topology decision is ADR-109; the deploy procedure is deployment.md.
What runs where
| Surface | Host |
|---|---|
API (api.) + workers + the World Agent | One Cloudflare Container (infra/docker/app.Dockerfile, app_supervisor.py runs both entrypoints), fronted by the spectral Worker. Predicate execution is in-process for alpha. |
Dashboard (app.) | Cloudflare Pages project spectral-dashboard with a Pages Function proxy for same-origin /api/*. |
Operations (ops.) | Cloudflare Pages project spectral-operations with JWKS-local Pages Function middleware and same-origin /operator/* proxying. |
Docs (docs.), Codex (codex.) | Cloudflare Pages (spectral-docs public; spectral-codex gated by a JWKS-local Pages Function). |
| Database, Auth, pgvector | Supabase (locked), reached over the session pooler. |
The API and workers are separately-launchable entrypoints (apps/api, apps/workers), so re-splitting a tier onto its own host later is a deploy-manifest change, not a code change (ADR-109 D1).
Health
curl -s https://api.runspectral.com/health | jq200 with outbox: wired is healthy. llm/delegation may report degraded until the per-domain LLM credential and act-as signing key are provisioned (expected pre-SPEC-549). /version reports the build sha + deployment generation.
Deploy / rollback
See deployment.md. Container cutover is generation-stamped; rollback is forward-fix (revert + redeploy; expand/contract migrations keep the prior generation safe). Pages surfaces roll back independently by redeploying/reverting the relevant product Pages project.
Related
- ADR-109 — hosting topology.
deployment.md·deployment-topology.md·edge.md.