Canonical TheoKit LIVE fixture for TheoCloud — one server per project (the
Vercel/Next.js model). A single zero-dependency Node server, used as the
deterministic target for the cleanroom-up-live-test-mandate (LIVE proof that
the declared runtime drives the platform build — review finding F-dom-2).
- One server per project —
web(Node,runtime: node), declared in.theo/services.json(v2 contract). - Zero third-party dependencies → the platform's canonical Node Dockerfile
(
npm ciagainst the committed lockfile +CMDfrom the declaredstart) builds + runs without any registry fetch. GET /health→200 {"status":"ok"}(liveness; matcheshealthcheck).
| File | Role |
|---|---|
.theo/services.json |
TheoCloud deploy contract (v2). runtime: node, type: server, port: 8080, start: node server.js, healthcheck: /health. |
server.js |
The single Node server (stdlib http). |
package.json + package-lock.json |
Node manifest + frozen lockfile (npm ci). |
theo deploy --env production # discovers .theo/services.json, sends runtime=node
# expect: build → canonical Node Dockerfile → image → live URL → GET /health 200The platform dispatches the build strategy on runtime (node → NodeStrategy),
the F-dom-2 fix. A second project would extend LIVE coverage to the Python
runtime (one server per project).
.theo/services.jsonis normally emitted bytheokit build; this fixture hand-authors a schema-valid v2 manifest so the LIVE test is self-contained.