Goal
| User story |
| As a Fleet operator running software automation at scale, |
| I want the install queue to reject any queued or in-flight activity whose installer no longer exists, |
| so that installs don't silently fail. |
Background
From the customer-numa post-mortem in April 2026.
When an installer is deleted while an install is queued or in flight, the queue can keep a row whose installer no longer exists, and orbit can't resolve it. #44284 and c2eb45f9a7 limited the damage, but this is still possible from other delete paths. This story aims to make it impossible. It depends on #25912, which adds the cancellation step the new behavior needs.
Changes
Product
Engineering
Risk assessment
Test plan
Core flow
- Delete an installer that has a queued install and an in-flight install. The installs cancel first and the delete succeeds. No orphaned queue row remains, and orbit logs no "installer details not found" loop.
Edge cases
- Upgrade from a version before this change that already has orphaned rows. Each one resolves to a failed state.
- A delete path that doesn't cancel first. The delete is blocked with a clear error instead of stranding the row.
Goal
Background
From the customer-numa post-mortem in April 2026.
When an installer is deleted while an install is queued or in flight, the queue can keep a row whose installer no longer exists, and orbit can't resolve it. #44284 and
c2eb45f9a7limited the damage, but this is still possible from other delete paths. This story aims to make it impossible. It depends on #25912, which adds the cancellation step the new behavior needs.Changes
Product
Engineering
Risk assessment
Test plan
Core flow
Edge cases