Helpful first: Load balancing, Observability and tracing, Agent evals.
The idea
A canary is a limited deployment with an evaluation, not simply a slow rollout. Keep the current version as a control: the comparison must influence promotion, pause, or abort. Google SRE explains why a healthy service-wide average can conceal a failing candidate.
Where it helps
Use this when your team starts shipping agent-written service changes or versioned agent tooling. Code review and offline evaluations remain necessary; production exposure tests a different question: does this change behave acceptably for the people and workloads receiving it?
Consult this chapter when an agent-assisted change reaches a live service or a shared agent tool. It earns a supporting place because delegation changes who prepares the release, while engineers still need a defensible exposure and recovery decision.
Illustrative export-service release: an agent refactors CSV generation. Route 10% of requests to v2. In one window, v1 serves 9,000 requests and v2 serves 1,000; exports comprise 10% of each. Forty of v2’s 100 exports fail, while everything else succeeds. The overall error rate is only 0.4%, but candidate exports fail at 40% versus 0/900 on v1. An overall 1% alert would miss this regression.
What you will be able to check
- Calculate both pooled and version-specific operation error rates from request counts.
- Write a rollout gate with explicit pass, fail, and insufficient-evidence outcomes.
- Demonstrate traffic returning to the stable version and identify effects that rollback cannot undo.
What changes in the team
- Today
- An engineer deploys a release, watches a shared dashboard, and decides whether to continue from memory and a runbook.
- With an agent
- Ask an agent to draft version-filtered queries, replay fixtures, and a rollout report linking each decision to counts, time windows, and the deployed artifact.
- Still your responsibility
- The release owner reviews those queries, sets risk limits, authorizes deployment access, and owns the promotion and recovery policy. Model-written instructions do not enforce permissions.
Work through an example
- Freeze the candidate artifact and change scope. For the export refactor, review the diff and offline tests first. Write down which export formats and customer cohorts must be observed; keep an owner available during the trial.
- Establish routing and measurement. Label observations by release and operation, compare concurrent windows, and record actual request counts. Collect a new window after exposure starts; do not reuse the earlier zero-error result as evidence for v2.
- Evaluate the fixture. Divide 40 by 10,000, then 40 by 100. For this exercise only, fail when candidate export errors exceed control by five percentage points after 100 candidate exports; pause with fewer candidate samples or missing control observations. A missing denominator must never be treated as a zero error rate. These are training parameters, not universal safety thresholds.
- Rehearse recovery. Send new traffic back to v1, preserve the failed window, and verify fresh requests. AWS describes why stored data and protocols must remain compatible with the older version; reverting code is not a repair for previously corrupted data or completed external actions.
The engineering decision
Choose exposure, observation time, and critical operations before deployment. In Argo Rollouts, analysis can continue, abort, or pause a rollout; a timed pause alone is not an evidence gate. Replica counts only approximate traffic weights without traffic management. Test what your router actually delivers.
- Treating a low pooled error rate as approval without checking the changed operation.
- Promoting on absent metrics or an unrepresentative handful of requests; zero observations are not zero failures.
- Assuming small exposure isolates all harm: shared dependencies can affect the control, so retain absolute service-health checks.
- Letting the agent revise its own acceptance threshold after seeing a failure, without a reviewed policy change.
Try it with your team
Catch the hidden export regression
- Create a local count table using the example’s four version/operation groups; make no production changes.
- Ask an agent for the pooled and export-specific calculations, then verify the denominators yourself.
- Implement the illustrative gate; run passing, failing, and insufficient-sample fixtures.
- Simulate an abort by setting candidate traffic to zero. Save the failed report alongside a fresh stable-version observation.
You have an answer when…
- The 0.4% pooled result cannot override the 40% candidate export failure.
- Missing samples pause the decision, and abort preserves the failure evidence instead of relabelling the candidate healthy.
Read further
Which critical operation would disappear inside your overall success rate, and what would stop promotion if its candidate sample were empty?
Original video comparisons