# Statelessness

Record: `arch:statelessness`
Kind: principle
Layer: [Performance Core](https://banes-lab.com/records/layer/performance-core.md)
Severity: recommended
Scope: service, process, handler
Canonical: https://banes-lab.com/ontology#arch-statelessness

## Repair

- Refactored by: Move State to Store, Use Token/Session Store
- Detected by: mutable static/session-local state
- Violated by: correctness depends on in-memory instance state
- Measured by: state externalization coverage
- Enforced by: architecture tests

## requires

- [Externalized State](https://banes-lab.com/records/lex/externalized-state.md)

## reinforces

- [Horizontal Scaling](https://banes-lab.com/records/arch/horizontal-scaling.md)
- [Resilience](https://banes-lab.com/records/arch/resilience.md)

## enables

- [Load Balancing](https://banes-lab.com/records/arch/load-balancing.md)
- [Auto-Scaling](https://banes-lab.com/records/arch/auto-scaling.md)

## conflicts-with

- [Instance Affinity](https://banes-lab.com/records/lex/instance-affinity.md)
- [Temporal Coupling](https://banes-lab.com/records/arch/temporal-coupling.md)

## tensions-with

- [State Access Latency](https://banes-lab.com/records/lex/state-access-latency.md)

## tensions

- [Statelessness State Access Latency](https://banes-lab.com/records/tension/state-access-latency-statelessness.md)
