# Protocol Compatibility

Record: `arch:protocol-compatibility`
Kind: constraint
Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)
Severity: mandatory
Scope: integration, network, message
Canonical: https://banes-lab.com/ontology#arch-protocol-compatibility

## Repair

- Refactored by: Add Adapter, Normalize Protocol
- Detected by: protocol conformance failure
- Violated by: unsupported protocol changes
- Measured by: conformance test pass rate
- Enforced by: conformance tests

## requires

- [Protocol Contract](https://banes-lab.com/records/lex/protocol-contract.md)
- [Versioning](https://banes-lab.com/records/arch/versioning.md)

## reinforces

- [Interoperability](https://banes-lab.com/records/arch/interoperability.md)

## enables

- [Multi-Client Integration](https://banes-lab.com/records/lex/multi-client-integration.md)

## conflicts-with

- [Proprietary Drift](https://banes-lab.com/records/lex/proprietary-drift.md)

## tensions-with

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

## tensions

- [Protocol Compatibility Protocol Optimization](https://banes-lab.com/records/tension/protocol-compatibility-protocol-optimization.md)
