Treat every material change to a revenue AI agent as a new operating version. Record what changed, map the actions and failure modes it can affect, re-run the relevant evaluation cases, reduce authority during release, verify the real destination state, and keep a tested rollback path.
“We only changed the model” is not a release argument. Neither is “the prompt edit was small.” A model can choose tools differently. A prompt can alter when the agent asks for clarification. A retrieval update can change what evidence it sees. A tool-schema change can convert a missing field into a silent default. A permission change can turn a recommendation into an external action.
At Stackmatix, the growth agency I co-founded, automation decisions have to connect technical behavior to pipeline, customer communication, and the systems where revenue work is recorded. That perspective informs this checklist. The framework and worked example below are editorial recommendations with hypothetical data, not reported client results or benchmarks. External sources were checked on October 27, 2026.
Use the RELEASE sequence
The sequence is Record, Evaluate, Limit, Exercise, Audit, Stage, Expand. It is designed for a practical question: can this changed version carry the same commercial responsibility as the previous one?
| Step | Required evidence | Release question |
|---|---|---|
| Record | Version record and exact change set | What is different from the last accepted version? |
| Evaluate | Impact map and release gates | Which decisions, actions, and failure modes could change? |
| Limit | Temporary authority and exposure boundary | What is the smallest safe way to observe this version? |
| Exercise | Representative, edge, and known-failure cases | Does the version perform the intended work without critical regression? |
| Audit | Traces plus destination-state reconciliation | What actually happened, not merely what the agent reported? |
| Stage | Tested rollback and named owner | Can the team restore a known state quickly? |
| Expand | Canary evidence and decision record | Has the version earned broader traffic or authority? |
The NIST AI Risk Management Framework Core says AI systems should be tested before deployment and regularly while operating. It also calls for documented test sets, metrics, tools, and post-deployment plans that include change management. That does not prescribe this commercial workflow, but it supports the underlying discipline: testing is a lifecycle practice, not a launch ceremony.
1. Record one deployable version
Give the release a stable identifier and bind the dependencies that determine its behavior. A useful record includes:
- model and relevant configuration;
- system and task instructions;
- retrieval sources, index version, and freshness rule;
- available tools and their schemas;
- account, user, and service permissions;
- guardrails and approval rules;
- destination API or integration version;
- business policy, routing logic, and thresholds;
- evaluation-set version;
- code commit, release owner, and release time.
Do not use “current prompt” or “latest model” in an incident record. Those labels become useless as soon as the next change ships.
If several components change together, say so. A bundled release may be commercially necessary, but it is harder to diagnose. When practical, separate changes that can independently alter action selection or destination writes.
2. Evaluate the change surface
Classify the change before choosing tests. The same generic regression suite should not be the only answer for every release.
| Change class | What may regress | Tests to add or emphasize |
|---|---|---|
| Model or model settings | Tool choice, instruction following, uncertainty, format | Ambiguous requests, refusal/escalation, tool selection, structured output |
| Instructions | Scope, precedence, required evidence, clarification | Conflicting rules, missing context, boundary cases |
| Retrieval | Evidence selection, freshness, conflicting sources | Stale records, empty results, contradictory documents, source attribution |
| Tool schema | Field mapping, defaults, validation, retries | Missing optional fields, new enum values, malformed responses, idempotency |
| Permissions | Reach and consequence of an action | Unauthorized objects, cross-owner access, expired grants, least-privilege checks |
| Destination integration | Write success, partial failure, deduplication | Timeouts, duplicate requests, read-after-write, partial batch completion |
| Guardrail or approval policy | When work stops, escalates, or executes | Stale approval, changed payload, blocked category, approver mismatch |
| Business rule | Eligibility, routing, timing, suppression | Boundary values, precedence, exceptions, historical records |
Then map each affected component to four things: input conditions, decision made, action attempted, and business consequence. If a model change can affect copy but cannot write anywhere, its release gate differs from a tool change that can alter deal ownership.
The AI workflow evaluation template explains how to define representative cases and score factual accuracy, completeness, uncertainty, action appropriateness, usability, and recovery. Change control adds a narrower question: which previously accepted evidence is now stale?
3. Limit authority before testing behavior
Set the release boundary before running the new version. Choose the lowest-authority mode that still reveals the behavior you need to inspect:
- replay stored or synthetic cases with no external tools;
- use sandbox tools and test accounts;
- run in shadow mode while the existing version remains authoritative;
- draft proposed actions for human review;
- permit a narrow action on a small eligible cohort;
- expand only after the release gates pass.
Authority should be defined at the action level. An agent may be allowed to read CRM context and draft a follow-up while remaining unable to send it or change opportunity ownership. The copilot-versus-agent control model provides a decision framework for that boundary.
Do not let a canary become “five percent of everything” by habit. Exclude high-consequence actions, sensitive records, unusual account structures, and workflows without a clean reversal path until you have evidence for them.
4. Exercise the cases that can disprove readiness
Build the release set from four buckets:
- ordinary cases: common work the version must continue to handle;
- change-targeted cases: examples that directly exercise the altered component;
- known failures: prior incidents, near misses, and repaired defects;
- boundary cases: incomplete inputs, stale approvals, conflicting evidence, permission failures, retries, and destination timeouts.
Record expected characteristics and prohibited outcomes. For open-ended drafts, there may be no single correct sentence. There can still be clear requirements: do not invent a meeting outcome, do not email a suppressed contact, do not change an owner without verified authority, and do not claim a write succeeded without destination confirmation.
Separate aggregate quality from critical release gates. A 98% average can conceal the two failures that create duplicate customer emails. Use at least three result classes:
- critical: unauthorized, misdirected, duplicated, undisclosed, or irreversible consequential action;
- material: wrong decision or unusable output that a normal review process may catch;
- minor: style or efficiency defect with no changed commercial decision.
Thresholds should follow consequence and your operating context. They are not universal benchmarks. A team can require zero observed critical failures in its release set without claiming that the set proves zero production risk.
5. Audit both the run and the destination
A trace answers how the agent reasoned through the workflow. The destination answers what the business system accepted.
The OpenAI Agents SDK tracing documentation describes traces that capture model generations, tool calls, handoffs, guardrails, and custom events. Comparable observability can help diagnose a release, but a successful tool span is not sufficient evidence that a CRM, email platform, billing system, or calendar ended in the intended state.
For every consequential test action, reconcile:
intended action → submitted payload → tool response → destination readback → downstream effect
Check identifiers, field values, owner, timestamp, deduplication key, and any downstream automation that the write triggered. The action-approval design guide explains why approval should bind the actor, object, action, key parameters, and time window rather than approve a vague intent.
6. Stage a rollback that covers the whole release
A rollback plan must match the change surface. Reverting a prompt will not repair an incompatible tool schema. Switching back to a model will not restore revoked permissions or a prior retrieval index.
Before release, record:
- the last accepted version and how to restore it;
- components that cannot be rolled back automatically;
- how to disable writes while preserving evidence;
- records that may need destination repair;
- the owner authorized to stop or reverse the release;
- the observation that triggers rollback;
- how queued, retried, and in-flight actions will be handled.
Run the rollback in a test environment when the action has meaningful consequence. A document saying “revert if needed” is not evidence that the team can do it.
If a live release produces an unauthorized or harmful action, stop expansion and move to the revenue AI agent incident-response runbook. Change control decides whether to release; incident response contains and repairs a failure that escaped.
7. Expand only from written evidence
For the canary, define eligibility, duration, event count, review owner, and stop conditions in advance. Compare the new version with the previous accepted version where that comparison is meaningful.
Review:
- critical and material failures by category;
- human correction and rejection rates;
- tool error and retry behavior;
- duplicate, partial, and misdirected actions;
- destination reconciliation failures;
- latency and cost when they affect the workflow;
- complaints, reversals, and unexpected downstream automation.
Then write one decision: expand, hold, narrow, or roll back. Record the evidence and the remaining exclusions. “No one complained” is not a release review.
A hypothetical 160-case release review
Consider a hypothetical SaaS company with an agent that reads CRM activity, drafts follow-ups, and—after case-specific approval—can update the next-step date and create a seller task.
The team changes the model and updates the CRM tool schema. The new schema adds an optional owner_id field with a default. The change record flags tool selection, owner routing, approval binding, and retry behavior as affected surfaces.
The team runs 160 hypothetical cases:
| Case bucket | Cases | Initial pass | Observed failure |
|---|---|---|---|
| Ordinary approved updates | 60 | 60 | None observed |
| Stale or changed approvals | 30 | 30 | None observed |
| Retry and duplicate requests | 20 | 18 | Two duplicate tasks |
| Multiple-owner records | 20 | 16 | Four tasks inherited the wrong default owner |
| Suppressed contacts | 15 | 15 | None observed |
| Permission failures | 15 | 15 | None observed |
| Total | 160 | 154 | Six critical failures |
The aggregate pass rate is 96.25%. That number does not justify release. All six failures are critical because the destination state is wrong.
The team removes the silent owner default, requires an explicit owner mapping, and adds an idempotency key for task creation. It then re-runs the six failures, 24 adjacent owner-and-retry cases, and the full 160-case set. In this hypothetical example, all pass. The new version proceeds to a 12-record sandbox canary with destination readback after every write, while production authority remains on the previous version.
This is not a recommended sample size or reliability benchmark. It demonstrates the decision method: test composition and failure severity matter more than a reassuring average.
Copy this release record
Use one record for every material change:
| Field | Entry |
|---|---|
| Release ID | Stable version name |
| Business responsibility | Decisions and actions the agent may perform |
| Exact change set | Model, instructions, retrieval, tools, permissions, policies, code |
| Impacted surfaces | Inputs, decisions, actions, destinations, downstream systems |
| Evaluation set | Version, case mix, known failures, exclusions |
| Critical gates | Outcomes that block release regardless of average score |
| Authority during test | Replay, sandbox, shadow, draft, or bounded execution |
| Destination verification | Readback and downstream checks required |
| Canary | Eligibility, size, duration, owner, stop conditions |
| Rollback | Prior version, procedure, owner, in-flight handling |
| Decision | Expand, hold, narrow, or roll back, with evidence |
| Next review trigger | Date, volume, incident, dependency change, or policy change |
The discipline is simple: a changed agent has not earned its old authority merely because the release looked small. Reconstruct the evidence, start with less power, and expand from observed behavior.
