---
url: https://scruple.dev/rules/resources/require-retry-time-budget.md
description: Require an overall deadline for retry work.
---

# resources/require-retry-time-budget

Require an overall deadline for retry work.

## What it checks

Retries need a total elapsed deadline or inherited deadline-backed context; attempt limits and arbitrary cancellation signals are not total budgets.

## Rule metadata

* Package: `@scruple/resources`
* Category: Retries
* Tags: retry, deadline, timeout
* Default threshold: `plugin default`
* Minimum confidence: `plugin default`

## Examples

### Reported

```ts
await retry(request, { attempts: 5 });
```

### Accepted

```ts
await retry(request, { attempts: 5, signal: AbortSignal.timeout(10_000) });
```
