Versioning & deployment
How drafts become frozen versions, and how deploying publishes a version your team can run.
Everything you build in Compass moves through the same three stages, whether it's an agent or a workflow:
- Draft — the editable copy you change in the builder. There's one per agent or workflow, and editing only ever touches the draft.
- Version — an immutable, numbered snapshot (v1, v2, …) created when you deploy. Versions never change.
- Deployment — a movable pointer to the one version that's currently live.
This separation means you can keep editing safely while a stable version runs, and always trace any run back to the exact version that produced it.
What deploying does
Clicking Deploy takes the current draft, freezes it into the next numbered version, and points the deployment at it — making it live. The draft stays editable for your next round of changes; the version you just published is locked.
A version is fully reproducible
Deploying also captures the exact versions of anything your work depends on — the sub-workflows and agents it calls. A deployed version therefore runs the same way every time, even if you later change those dependencies' drafts.
The deploy dialog
When you deploy, a dialog confirms the details and runs a final check:
- Name and description — you can refine them one last time before publishing.
- Validation — any errors are listed and must be fixed first; warnings don't block you.
- Version context — it tells you what you're publishing, e.g. "Currently at v3 — this publishes v4", or "First deployment — this publishes v1".
Once validation passes, confirm to publish.
Where you deploy from
You can deploy in two places:
- From the builder — the Deploy button in the agent builder or the canvas toolbar, while you're working on something.
- From the Deployments page — deploy an agent or workflow that has a draft but isn't live yet.
Draft ahead of live
After you deploy, you'll often keep editing — and the draft moves ahead of the live version. Compass marks this so it's clear there are unpublished changes. They don't affect anything running until you deploy again, creating the next version.