You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
packages/contract as @prismark/contract: oc procedures with Zod 4 schemas, route metadata, and error classes, shared through TypeScript project references.
Worker bindings read from import { env } from "cloudflare:workers" at module scope. No per request env threading, no container.
One procedure: waitlist.join with an email, stored in D1 as a waitlist entry, throwing ALREADY_ON_WAITLIST from the contract. This is the first real use of the contract.
The fetch export dispatching /auth, /rpc, /openapi.json, /reference, and 404; the OpenAPI spec generated from the contract with the Zod converter.
Unit tests for the service, integration tests inside Cloudflare's Vitest pool against real D1, meeting the map's speed bar.
Wrangler config with the compatibility date rule from ADR 0007.
If the stack works, record the transport decision (oRPC v2, no Effect, Zod, the contract package) as an ADR. If it does not, resolve with what broke and reopen the transport ticket.
Part of #3
Question
Scaffold
apps/serveras a Worker on oRPC v2 withpackages/contract, one waitlist procedure, and its own tests, and prove the stack runs on workerd.dev,build,typecheck,lint,test,deploy).packages/contractas@prismark/contract:ocprocedures with Zod 4 schemas, route metadata, and error classes, shared through TypeScript project references.import { env } from "cloudflare:workers"at module scope. No per request env threading, no container.waitlist.joinwith an email, stored in D1 as a waitlist entry, throwingALREADY_ON_WAITLISTfrom the contract. This is the first real use of the contract.fetchexport dispatching/auth,/rpc,/openapi.json,/reference, and 404; the OpenAPI spec generated from the contract with the Zod converter.