Why It MattersOperators and integrations that send duplicate cancel requests (for retries, timeouts, or concurrent controllers) now get deterministic success instead of random `409` failures when a run was already interrupted, reducing false alarms and unnecessary re-cancel loops while keeping protection against canceling already finished work.
After a failed `cancel()` call, the gateway re-fetches the run state and maps `interrupted` or absent records to `202`, while preserving `409` for successful/completed runs.
Watch for clients that previously treated any `409` as a terminal cancel error, and monitor conflict-rate telemetry under high-concurrency cancellation storms to catch any remaining race regressions.
ImpactOperators and integrations that send duplicate cancel requests (for retries, timeouts, or concurrent controllers) now get deterministic success instead of random `409` failures when a run was already interrupted, reducing false alarms and unnecessary re-cancel loops while keeping protection against canceling already finished work.
After a failed `cancel()` call, the gateway re-fetches the run state and maps `interrupted` or absent records to `202`, while preserving `409` for successful/completed runs.
Watch for clients that previously treated any `409` as a terminal cancel error, and monitor conflict-rate telemetry under high-concurrency cancellation storms to catch any remaining race regressions.