# Portability

Record: `arch:portability`
Kind: quality-attribute
Layer: [Resource Core](https://banes-lab.com/records/layer/resource-core.md)
Severity: contextual
Scope: application, infrastructure, runtime
Canonical: https://banes-lab.com/ontology#arch-portability

## Repair

- Refactored by: Add Adapter, Externalize Platform Dependency
- Detected by: platform-specific imports in core
- Violated by: direct dependency on non-abstracted platform APIs
- Measured by: portability violation count
- Enforced by: dependency rules

## requires

- [Abstraction](https://banes-lab.com/records/arch/abstraction.md)
- [Standards](https://banes-lab.com/records/lex/standards.md)

## reinforces

- [Replaceability](https://banes-lab.com/records/arch/replaceability.md)

## enables

- [Platform Migration](https://banes-lab.com/records/lex/platform-migration.md)

## conflicts-with

- [Platform-Specific Coupling](https://banes-lab.com/records/lex/platform-specific-coupling.md)

## tensions-with

- [Platform Optimization](https://banes-lab.com/records/lex/platform-optimization.md)

## tensions

- [Portability Platform Optimization](https://banes-lab.com/records/tension/platform-optimization-portability.md)

## referenced-by

- [Interoperability](https://banes-lab.com/records/arch/interoperability.md)
- [Low Coupling](https://banes-lab.com/records/arch/low-coupling.md)
- [Abstraction](https://banes-lab.com/records/arch/abstraction.md)
- [Independence](https://banes-lab.com/records/arch/independence.md)
- [Platform Independence](https://banes-lab.com/records/arch/platform-independence.md)
- [Containerization](https://banes-lab.com/records/arch/containerization.md)
- [Protocol Independence](https://banes-lab.com/records/arch/protocol-independence.md)
- [Configuration Externalization](https://banes-lab.com/records/arch/configuration-externalization.md)
