# Platform Independence

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

## Repair

- Refactored by: Abstract Platform API, Normalize Paths
- Detected by: OS-specific paths/APIs in portable layers
- Violated by: hardcoded platform assumptions
- Measured by: cross-platform test pass rate
- Enforced by: cross-platform CI

## requires

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

## reinforces

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

## enables

- [Cross-Platform Deployment](https://banes-lab.com/records/lex/cross-platform-deployment.md)

## conflicts-with

- [OS/Vendor Lock-In](https://banes-lab.com/records/lex/os-vendor-lock-in.md)

## tensions-with

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

## tensions

- [Platform Independence Native Optimization](https://banes-lab.com/records/tension/native-optimization-platform-independence.md)
