Release Pattern — Example: Payments API canary that aborted at 5%
Pattern: Release
Component: examples/example.md
Version: 1.1 | Updated: 2026-07-16
Scenario:payments-apidigest promotion with flagpayments.ledger_v2_read
Artifacts
| Artifact | Digest |
|---|---|
payments-api |
sha256:9f3c2a1b8e7d6c5b4a3928170695e4d3c2b1a09876543210fedcba9876543210 |
| Prior (rollback) | sha256:11aa22bb33cc44dd55ee66ff77889900aabbccddeeff00112233445566778899 |
Provenance: SLSA-style attestation job attest-2026-07-15T18:02Z — PASS
SBOM policy: PASS (no critical CVEs in deny list)
Abort criteria (pre-declared)
| Metric | Threshold | Window | Action |
|---|---|---|---|
payments_error_rate |
> 0.5% absolute above 1h baseline | 5m | Abort |
payments_p99_ms |
> 350 or > baseline+20% | 5m | Abort |
checkout_success_probe |
< 99.0% | 5m | Abort |
Flag: payments.ledger_v2_read — disable = immediate read path revert.
Go decision (inline)
Approver: S. Rahman Date: 2026-07-15
Decision: GO
Rollback owner: J. Klein RTO: 10m
Canary log (inline)
| UTC | Stage | Result |
|---|---|---|
| 19:00 | Deploy digest to canary pods | OK |
| 19:05 | Flag 1% | error_rate +0.05% — continue |
| 19:35 | Flag 5% | error_rate +0.7% for 5m — ABORT |
| 19:36 | Flag disabled | Probe recovered 19:38 |
| 19:40 | Prior digest confirmed running | Baseline restored |
ABORT reason: payments_error_rate breached +0.5% for 5m at 5% exposure
Action: payments.ledger_v2_read=off; no schema contract attempted
Verification: checkout_success_probe 99.4% at 19:39; p99 210ms
Aftermath
NO_GO for retry until root cause of ledger_v2 read path fixed; change ticket remains open with digests and abort log attached.
This example shows a successful use of abort — not a successful promotion.
Version: AIES v1.0.0✏️ Edit this page on GitHub