# Fail Fast

Record: `arch:fail-fast`
Kind: principle
Layer: [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)
Severity: recommended
Scope: input, startup, invariant boundary
Canonical: https://banes-lab.com/ontology#arch-fail-fast

## Repair

- Refactored by: Add Guard Clause, Throw Explicit Error
- Detected by: ignored exceptions, default fallbacks masking errors
- Violated by: swallowing invalid state
- Measured by: late failure rate
- Enforced by: validation tests

## requires

- [Preconditions](https://banes-lab.com/records/arch/preconditions.md)
- [Validation](https://banes-lab.com/records/arch/validation.md)

## reinforces

- [Correctness](https://banes-lab.com/records/arch/correctness.md)
- [Observability](https://banes-lab.com/records/arch/observability.md)

## enables

- [Early Defect Detection](https://banes-lab.com/records/lex/early-defect-detection.md)

## conflicts-with

- [Silent Failure](https://banes-lab.com/records/lex/silent-failure.md)
- [Silent Data Corruption](https://banes-lab.com/records/arch/silent-data-corruption.md)

## tensions-with

- [Graceful Degradation](https://banes-lab.com/records/arch/graceful-degradation.md)

## tensions

- [Fail Fast Graceful Degradation](https://banes-lab.com/records/tension/fail-fast-graceful-degradation.md)

## referenced-by

- [Preconditions](https://banes-lab.com/records/arch/preconditions.md)
- [Defensive Programming](https://banes-lab.com/records/arch/defensive-programming.md)
- [Schema Validation](https://banes-lab.com/records/arch/schema-validation.md)
- [Input Validation](https://banes-lab.com/records/arch/input-validation.md)
