DeploymentOverview

Deployments Overview

Causet separates authoring from running. You write .causet files locally, compile them to verified IR artifacts, package them as a release, and deploy that release to a fork — an isolated runtime environment for your application.

Every intent, query, and projection handler resolves against the active release on the fork you target.


The deploy pipeline

StepWhat happens
Compilecauset build compile validates cross-references and emits IR into dist/
Releasecauset release create + causet release publish — immutable tagged snapshot
Deploycauset deploy apply + causet deploy activate — live rules on a fork

Core concepts

ConceptOne-line definition
ForkIsolated environment (schema + active release) — e.g. main, staging, test-abc123
ReleaseImmutable compiled IR snapshot created from uploaded artifacts
DeploymentThe act of activating a release on a fork

Why forks matter

Every API call includes a fork:

{
  "forkId": "main",
  "action": "CHECK_IN_TO_SHOW",
  "entityId": "user-1",
  "payload": { ... }
}

The runtime loads entity state, rules, and event handlers from the active release on that fork. The query service loads SQL templates from the same release. The projection worker applies DDL and handlers for that fork’s PostgreSQL schema.

Two forks on the same application can run different releases at the same time — staging on yesterday’s build while production stays on the current release.


Tenant isolation per fork

Each fork gets its own PostgreSQL schema for projections:

{platformId}_{applicationId}_{forkId}

Example: platform acme, application concert-app, fork main:

acme_concert_app_main

Ledger events and entity snapshots are also scoped by fork. Data never leaks between forks.


Typical workflow

causet build compile  --runtime ./concert-app/ --out dist/
causet release create  --input dist/ --tag 1.0.0
causet release publish --tag 1.0.0
causet deploy apply    --tag 1.0.0 --fork staging
causet deploy activate --tag 1.0.0 --fork staging --mode FULL
# test, then repeat apply + activate for fork main

Or use causet deploy --fork main --runtime ./concert-app/ --full for the golden path in one command.


In this section

PageWhat it covers
ForksWhat forks are, naming, staging vs production, test forks
ReleasesIR artifacts, creating releases, versioning, rollback
DeploymentsDeploying and activating a release on a fork

Next steps