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.