# Add the missing timeout, retry budget, or breaker

The call that hung and took the service with it, given a bound.

Category: Incident follow-through
Source: https://letsship.ai/use-cases/add-the-missing-timeout-or-breaker
Published: 2026-08-25

## Goal

Add a timeout, a bounded retry budget, and a breaker to the call that hung during the incident.

## Acceptance criteria

- The call has an explicit timeout rather than a library default
- Retries are bounded and backed off
- A breaker opens after a stated failure rate
- Tests cover the timeout, the exhausted retry budget, and the open breaker

## What lands as proof

Tests that force each failure mode and assert the caller degrades instead of hanging.

## Prompt

Copy this to an agent to open the ticket:

```text
Create a Linear issue in my team and assign it to the SHIP agent.

Title: Add a timeout and retry budget to the {call} call

Description: Add a timeout, a bounded retry budget, and a breaker to the call that hung during the incident.

Acceptance criteria:
- The call has an explicit timeout rather than a library default
- Retries are bounded and backed off
- A breaker opens after a stated failure rate
- Tests cover the timeout, the exhausted retry budget, and the open breaker

Before you create the issue, find the outbound call implicated in the incident and replace {call} with it. Name the current timeout, or say there is none.
```

## Questions

### What does the agent actually change?

The ticket is scoped to one outcome: add a timeout, a bounded retry budget, and a breaker to the call that hung during the incident. Work that serves that outcome is in scope, and anything outside it is left for a separate ticket, so the pull request stays reviewable.

### How do I know the work is done?

The pull request carries the evidence, not only the diff. Here that means failure-path tests at the boundary, defaults documented, so a reviewer can confirm the result without reproducing the work locally.

### How much oversight does this need?

The run stops once the plan is written. Somebody reads the approach and approves it before any code exists, which is the cheapest moment to redirect the work.
