Skip to content

Edge Platform Family proposals

The Edge Platform Family, edge.forms.takoform.com/v1alpha1, is the first official Form Family (decision 0009). Its members fix, completely, the application-visible semantics of a proven edge developer platform without naming its vendor (decision 0008).

Authoring policy: shape-preserving contracts

Every member Form preserves one service shape end to end: execution ABI, client API, data model, consistency, delivery guarantees, update and delete units, error semantics, and the capabilities exposed through typed Bindings. No free semantic token is admitted; a difference in semantics is a different Form, never a selector value. Outward capability use is a digest-bound Binding held by a revision resource; inward activation is an attachment resource (decision 0010). Desired schemas carry no name or envelope plumbing: the v1alpha3 resource envelope owns identity and status (decision 0011).

The catalog source of truth is internal/edgeformcatalog; the generated candidates live in forms/candidates/edge/v1alpha1, the exact Interface and Binding candidates in interfaces/candidates/v1alpha1 and bindings/candidates/v1alpha1.

MVP members

FormRoleOne-line semanticsSeparate-Form boundary
ModuleWorkeridentityLogical identity of one ES Module Worker application; the ABI is fixed by identity.A WASI function or container service is a different Form.
WorkerBundlerevisionImmutable content-addressed module bundle: main module plus digest-pinned modules.A different linking or packaging model is a different Form.
WorkerVersionrevisionImmutable executable snapshot: bundle, compatibility date, handlers, vars, typed bindings.Mutable in-place code or config is not a version of this Form.
WorkerDeploymentdeploymentBasis-point traffic split across up to eight Worker Versions of one worker.Per-request routing rules or geographic steering is separate work.
WorkerCustomDomainattachmentServes one DNS hostname from a worker's active deployment over HTTPS.Path-pattern routes are a separate attachment Form.
WorkerCronTriggerattachmentInvokes the scheduled handler on a five-field UTC cron schedule.Timezone-aware scheduling is a different Form.
EdgeKVNamespaceidentityGlobally replicated key/value namespace with eventual consistency.A linearizable or per-key-consistent store is a different Form.
ObjectBucketidentityFlat-namespace object store with read-after-write consistency and strong etags.CORS/lifecycle/lock rules are separate policy Forms.
SQLiteDatabaseidentityEmbedded SQLite database with serializable transactions.A Postgres or MySQL database is a different Form.
AtLeastOnceQueueidentityQueue with at-least-once delivery and no ordering guarantee.A FIFO or exactly-once queue is a different Form.
QueueConsumerattachmentAttaches one worker as the batch consumer of one queue, with retry and dead-lettering.Pull-based consumption over an API is a different Form.

Designs that differ in these semantics — PostgresDatabase, FifoQueue, WasiFunction, ContainerService, TimezoneSchedule — belong to future families and get their own proposals when that work starts, per spec/form-families.md.