# Independence

Record: `arch:independence`
Kind: principle
Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)
Severity: recommended
Scope: module, service, deployment
Canonical: https://banes-lab.com/ontology#arch-independence

## Repair

- Refactored by: Split Boundary, Introduce Events, Decouple Persistence
- Detected by: shared mutable resources, deployment coupling
- Violated by: shared database coupling, synchronous dependency chains
- Measured by: independent deployability, dependency count
- Enforced by: deployment rules, service ownership

## requires

- [Low Coupling](https://banes-lab.com/records/arch/low-coupling.md)
- [Explicit Boundaries](https://banes-lab.com/records/arch/explicit-boundaries.md)

## reinforces

- [Autonomy](https://banes-lab.com/records/arch/autonomy.md)
- [Portability](https://banes-lab.com/records/arch/portability.md)

## enables

- [Independent Testing](https://banes-lab.com/records/lex/independent-testing.md)
- [Independent Deployment](https://banes-lab.com/records/lex/independent-deployment.md)

## conflicts-with

- [Shared Runtime Dependency](https://banes-lab.com/records/lex/shared-runtime-dependency.md)

## tensions-with

- [Coordination Cost](https://banes-lab.com/records/lex/coordination-cost.md)

## tensions

- [Independence Coordination Cost](https://banes-lab.com/records/tension/coordination-cost-independence.md)

## referenced-by

- [Autonomy](https://banes-lab.com/records/arch/autonomy.md)
- [Service Autonomy](https://banes-lab.com/records/arch/service-autonomy.md)
