Changes

Every change tracked. Nothing slips through.

Blueprint mutations work like git. Every change — whether made by AI or a human — becomes a Change Request inside a Change Set. Blast radius is computed before approval. Dependencies cascade in order. Every apply creates a snapshot with stored reverse operations so any change can be rolled back, instantly.

Pending
Blast radius
Approval
Applied
Add checkout workflowCS-001
CHANGE REQUESTS (3)
ADDcheckout_workflowmedium
ADDpayment_steplow
REPLACEorder_entity.statusmedium
applied in dependency order
BLAST RADIUS
12
records
4
downstream
MEDIUM
APPROVAL GATE
Balanced
5 min timer
Snapshot + reverse ops stored
Roll back any change, any time
Add checkout workflow
3
approval presets — instant, balanced, strict
0
untracked changes — every mutation is a Change Request
1
action to roll back any applied Change Set
cascade depth — dependency order guaranteed
01

Change Sets and Change Requests

The model mirrors git: Change Requests are commits, Change Sets are pull requests. Every mutation to the Blueprint — add, remove, replace — is a typed, traceable Change Request.

Typed operations (RFC 6902)

Every Change Request specifies an operation — add, remove, replace, copy, or move — against a named target in the Blueprint. Operations are JSON Patch-compliant, which means they're diff-able, reversible, and serializable. No freeform mutations.

Before and after state

Each Change Request captures the before state at proposal time and the after state at apply time. You can diff any two points in Blueprint history. Nothing is lost.

Dependency ordering

Change Requests within a Change Set declare dependencies on each other. The engine applies them in topological order — prerequisites first, downstream after — so cascade chains never apply in the wrong sequence.

02

Blast radius before you commit

Before any Change Set is approved, the engine computes exactly what will be affected — records, downstream nodes, dashboards, reports. You see the full impact before a single change lands.

Four severity tiers

Low (isolated change, few dependents), Medium (moderate cascade, no destructive ops), High (significant downstream, possible data migration), Critical (destructive operations present, large cascade). Severity gates approval policy — Critical changes cannot auto-approve.

Destructive flag

Any Change Request that removes a node or drops data is automatically flagged as destructive. Destructive CRs are surfaced prominently in the review UI and cannot be bundled with non-destructive changes without explicit acknowledgement.

Downstream count

The blast radius report shows exactly how many downstream Blueprint nodes, records, and integrations are touched — not an estimate, a computed traversal of the dependency graph. You know what breaks before it breaks.

03

Approval on your terms

Three presets. Configurable per user, per doctype, per field. You control the gate — from instant auto-approval to manual sign-off only.

Instant (30-second timer)

Low-severity changes auto-approve after 30 seconds. The window gives you time to cancel if something looks wrong, but doesn't slow you down for routine modifications. Ideal for low-risk iteration loops.

Balanced (5-minute timer)

Medium-severity changes queue for 5 minutes. Notification is sent to the approving user. If no action is taken, auto-approval fires. Practical for team environments where changes are frequent but someone should be aware.

Strict (manual only)

High and Critical severity changes require explicit human approval. No timer. No auto-approve. The change sits pending until a named approver acts. Role-based approval chains, per-doctype overrides, and per-field rule matching are all supported.

04

Full rollback, always

Every applied Change Set creates an immutable snapshot and stores reverse operations. Rolling back is a single action — not a migration.

Pre-apply snapshots

Before any Change Set lands, the engine snapshots the before state of every affected target. Snapshots are SHA-256 hashed, gzip-compressed, and stored inline for small targets or in object storage for large ones. The chain is parent-linked — the full history is traversable.

Reverse operations

At apply time, the engine computes the exact inverse JSON Patch operations for every Change Request and stores them with the Change Set. Revert is deterministic — not a best-effort undo, a precise re-application of the reverse diff.

Branches and forks

Snapshots support branch_name and fork_of fields. You can fork a Blueprint state, apply experimental changes on the fork, and merge back — or discard. The same model used for git branching, applied to your living specification.

Git discipline for your Blueprint. Rollback in one action.

Command Palette

Search for a command to run...