# Timeout Pattern

Record: `arch:timeout-pattern`
Kind: pattern
Layer: [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)
Severity: mandatory
Scope: network, IO, dependency call
Canonical: https://banes-lab.com/ontology#arch-timeout-pattern

## Repair

- Refactored by: Add Timeout, Propagate Deadline
- Detected by: missing timeout config
- Violated by: external calls without timeout
- Measured by: timeout coverage, latency tail
- Enforced by: lint/config checks

## requires

- [Time Budget](https://banes-lab.com/records/lex/time-budget.md)

## reinforces

- [Fault Isolation](https://banes-lab.com/records/lex/fault-isolation.md)

## enables

- [Bounded Waiting](https://banes-lab.com/records/lex/bounded-waiting.md)

## conflicts-with

- [Infinite Wait](https://banes-lab.com/records/lex/infinite-wait.md)
- [Timeout Omission](https://banes-lab.com/records/arch/timeout-omission.md)

## tensions-with

- [Slow Operation Tolerance](https://banes-lab.com/records/lex/slow-operation-tolerance.md)

## tensions

- [Timeout Pattern Slow Operation Tolerance](https://banes-lab.com/records/tension/slow-operation-tolerance-timeout-pattern.md)
