Deployment
Production checklist, rollout patterns, and how to ship changes safely
Promoting an agent to production is a one-click operation, but doing it well is a discipline. This page is a checklist for shipping changes you can sleep through, and a tour of the rollout patterns Fruxon supports.
Before you deploy
Run through this list every time you promote a revision:
- ☐ Test interactively. The new revision works on the inputs you care about. (Testing)
- ☐ Evaluate against the golden dataset. Aggregate scores match or beat the deployed baseline; no regressions on critical cases. (Evaluations)
- ☐ Diff the revision. You know exactly what changed. (Versioning)
- ☐ Check tool dependencies. Any new integrations are connected and authorized in the production organization.
- ☐ Check secrets & API keys. Anything referenced via
{{secret.X}}exists in this organization — see Secrets to create or rotate them. - ☐ Check workflows. If the agent runs in a workflow, the workflow keeps the revision it pinned until you publish the workflow again.
- ☐ Check budgets. Per-agent budget alerts and caps are still appropriate. (Cost)
- ☐ Check the rollback target. You know which revision you'd roll back to if this one breaks.
Deploy
In Studio, click Deploy. Say in a line why you're making the change; Fruxon saves it as a new revision, runs pre-deploy checks, and makes it live. The switch is atomic; in-flight requests are not dropped.
After deploy
- ☐ Watch the first traffic. Open Observability and watch the first few real runs.
- ☐ Spot-check conversations. Skim the first batch in Conversations.
- ☐ Confirm cost is sane. Per-run cost matches what you saw in evaluation; no runaway loops.
- ☐ Confirm errors are at baseline. New error patterns warrant a rollback while you investigate.
Rollout patterns
Plain deploy
The default. You believe the change is safe, you deploy, you watch. Fine for low-risk changes (copy tweaks, prompt clarifications, additive tools).
Evaluation gate
Before promoting, score the candidate against a golden dataset and compare it to the deployed baseline (Evaluations). Treat a regression in aggregate score as a blocker. This is the closest thing to a pre-production canary: the execute API always serves the deployed revision, so you can't split live traffic across revisions — you gate on offline signal instead, then deploy.
Shadow mode
Run the candidate revision on real production inputs without serving its responses to users. Save the candidate's output to a log; compare offline. Useful when you can't yet trust the revision but want production-shaped signal.
Implement with a workflow that runs the deployed agent and a copy carrying the candidate on the same input, and returns only the deployed agent's output.
Scheduled rollout
For risky changes, ship during low-traffic windows. Combine with budget alerts so a runaway gets capped automatically.
Production hygiene
- Republish workflows deliberately. A workflow pins each agent's revision when you publish it, so a new agent revision reaches the workflow only when you publish the workflow again. Re-test the workflow before you do.
- Set budget caps, not just alerts. An infinite-loop bug at 4am is much cheaper if the cap kicked in at $50 instead of $5,000.
- Use Viewer access for stakeholders. Anyone who only needs to read traces or conversations should be a Viewer on the agent — not an Editor. Editor permits deploy. (Team & Roles)
- Keep a "deployed" baseline in your dataset. Run evaluations on the currently deployed revision against the dataset on a schedule. If aggregate scores drop, your underlying model or knowledge base shifted under you.
Multi-environment
Most teams run separate organizations for dev, staging, and production. Organizations are fully isolated — different team members, different secrets, different integrations. Promote between them by rebuilding or copying the agent's configuration into the target organization.
Programmatic promotion across organizations is on the roadmap. For now, treat organization export/import as the cross-environment boundary.
Incident response
When production is broken:
- Roll back first, debug after. Re-deploy the previous revision. Stop the bleeding.
- Capture evidence. Pull failing traces from Observability before they age out of your retention window.
- Add the failing cases to your golden dataset. Whatever broke today should be a regression test tomorrow.
- Postmortem the deploy. Was the issue catchable in evaluation? Update the dataset / metrics so it would be next time.
Next steps
- Versioning — revisions and rollback
- Evaluations — automated quality gating
- Observability — production observability
- Security — production hardening