carlos / platform Public

Add static serving class: platform-hosted static sites

Release artifact = content-addressed file tree served by the edge
(optional CloudFront binding in AWS deployments); replaces GitHub
Pages for carlosframework.com, 11factor.org, and app marketing sites.
Channels give static sites branch preview URLs and rollback for free.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Paul Campbell e8d056df5801da1a842d78d05ce886a05d0623af parent eb55b1a
1 file changed, +14 −2
  • docs/superpowers/specs/2026-08-01-carlos-platform-design.md +14 −2
diff --git a/docs/superpowers/specs/2026-08-01-carlos-platform-design.md b/docs/superpowers/specs/2026-08-01-carlos-platform-design.md
index 4da904b50..00fff5b52 100644
--- a/docs/superpowers/specs/2026-08-01-carlos-platform-design.md
+++ b/docs/superpowers/specs/2026-08-01-carlos-platform-design.md
@@ -93,8 +93,8 @@ State hierarchy in the bucket:
An **app** is a name plus a **manifest** — the entire contract between
author and platform. It declares:
-- **Processes**, each with a serving class (§5): `routed`, `replicated`, or
- `sidecar`.
+- **Processes**, each with a serving class (§5): `routed`, `replicated`,
+ `sidecar`, or `static`.
- **Storage**, per process: ownership (`exclusive` | `mergeable`) and
engine (`embedded` | `attached`) (§5).
- **Placement**: tier (`shared` | `dedicated`), and optional residency
@@ -159,6 +159,18 @@ convention.
demand rules) and *read replicas* (tail the writer's WAL stream from the
bucket; serve reads; every write routes to the writer).
- **`sidecar`** — a headless client the platform happens to host; §5.4.
+- **`static`** — no process at all: the release artifact is a
+ content-addressed file tree, and the edge serves it directly from
+ local cache backed by the bucket. Static sites ride the full release
+ machinery — `carlos ship` a file tree, canary channels give per-branch
+ preview URLs, promotion and rollback are pointer writes — with zero
+ runtime cost and nothing to hibernate. Routing keys and custom-domain
+ certs work exactly as for routed apps. In AWS deployments an optional
+ CDN binding (CloudFront over an S3 origin) can front a static app via
+ its environment profile; it is an optimization, never a requirement —
+ a self-hoster's edge serves the same tree unaided. This replaces
+ GitHub Pages for the platform's own sites (carlosframework.com,
+ 11factor.org) and the apps' marketing/status sites.
### Storage: ownership