# Hexagonal Architecture

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

## Repair

- Refactored by: Move Framework Outward, Add Ports
- Detected by: dependency direction violations
- Violated by: framework/data types in core
- Measured by: core purity score
- Enforced by: architecture tests

## requires

- [Ports and Adapters](https://banes-lab.com/records/lex/ports-and-adapters.md)
- [Domain Core](https://banes-lab.com/records/lex/domain-core.md)

## reinforces

- [Clean Architecture](https://banes-lab.com/records/arch/clean-architecture.md)
- [Testability](https://banes-lab.com/records/arch/testability.md)

## enables

- [External System Isolation](https://banes-lab.com/records/lex/external-system-isolation.md)

## conflicts-with

- [Framework-Centric Core](https://banes-lab.com/records/lex/framework-centric-core.md)

## tensions-with

- [Initial Complexity](https://banes-lab.com/records/lex/initial-complexity.md)

## tensions

- [Hexagonal Architecture Initial Complexity](https://banes-lab.com/records/tension/hexagonal-architecture-initial-complexity.md)
