Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Releases, environments & rollback

Artifacts (decisions, workflows) are mutable while you iterate. A release is what turns them into something governable: an immutable, versioned snapshot you can diff, deploy, and roll back to.

Releases are immutable snapshots

POST /projects/{project}/releases snapshots every decision and workflow artifact currently in the project into one versioned bundle (version auto-increments per project). Nothing about a release changes after creation — editing an artifact afterward never mutates a past release. This is what makes “which version ran” an answerable, audit-safe question.

Two releases can be compared:

GET /projects/{project}/releases/{releaseId}/diff/{otherId}

The diff is semantic, not textual — it surfaces down to the changed decision-table rule, not a JSON line diff.

Environments and deploy

An environment (dev, staging, prod, or any name you choose) tracks which release is currently active. Deploying is explicit and audited:

POST /projects/{project}/environments/{env}/deploy
Body: { "releaseId": "<id>" }

staging and prod (and production) are protected: deploying to them requires the approver or admin realm role. Any other environment name does not require an elevated role.

On deploy, every workflow artifact in the release is compiled and substituted into an AWS Step Functions state machine before the deployment pointer is recorded — a substitution/creation failure aborts without flipping the active release. The state machine embeds the release’s exact decision models: there is no runtime fetch and therefore no drift — a deployed workflow runs the decisions it was released with, forever, until a new release is deployed over it.

In-flight executions are unaffected by a redeploy. Step Functions snapshots a machine’s definition at StartExecution; updating the machine (including a rollback) changes only future executions.

Rollback

POST /projects/{project}/environments/{env}/rollback

Re-runs substitution for the prior release’s workflows and points the environment back at it. Protected environments require the same approver/admin role as a forward deploy.

Audit

Every governance action — artifact create/update/delete, release created, env deployed, task completed/rejected — is appended to the tenant’s audit log with actor, action and a human-readable detail string. See Governance & audit.