# Monolith Architecture

Record: `arch:monolith-architecture`
Kind: style
Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)
Severity: contextual
Scope: application, deployment
Canonical: https://banes-lab.com/ontology#arch-monolith-architecture

## Repair

- Refactored by: Modularize Internally, Add Boundaries
- Detected by: cyclic packages, high global coupling
- Violated by: unclear internal boundaries
- Measured by: module boundary health
- Enforced by: modular monolith rules

## requires

- [Unified Deployment Boundary](https://banes-lab.com/records/lex/unified-deployment-boundary.md)

## reinforces

- [Operational Simplicity](https://banes-lab.com/records/lex/operational-simplicity.md)

## enables

- [Transactional Simplicity](https://banes-lab.com/records/lex/transactional-simplicity.md)

## conflicts-with

- [Unbounded Big Ball of Mud](https://banes-lab.com/records/lex/unbounded-big-ball-of-mud.md)

## tensions-with

- [Team Autonomy](https://banes-lab.com/records/lex/team-autonomy.md)
- [Independent Scaling](https://banes-lab.com/records/lex/independent-scaling.md)

## tensions

- [Monolith Architecture Team Autonomy](https://banes-lab.com/records/tension/monolith-architecture-team-autonomy.md)
- [Monolith Architecture Independent Scaling](https://banes-lab.com/records/tension/independent-scaling-monolith-architecture.md)
