# Canonical Data Model

Record: `arch:canonical-data-model`
Kind: pattern
Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)
Severity: contextual
Scope: integration, enterprise data
Canonical: https://banes-lab.com/ontology#arch-canonical-data-model

## Repair

- Refactored by: Centralize Data Mapping, Add Anti-Corruption Layer
- Detected by: duplicated transformation logic
- Violated by: point-to-point inconsistent mappings
- Measured by: transformation duplication
- Enforced by: data contract review

## requires

- [Canonical Model](https://banes-lab.com/records/arch/canonical-model.md)
- [Data Contract](https://banes-lab.com/records/arch/data-contract.md)

## reinforces

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

## enables

- [Cross-System Mapping](https://banes-lab.com/records/lex/cross-system-mapping.md)

## tensions-with

- [Bounded Context Purity](https://banes-lab.com/records/lex/bounded-context-purity.md)
- [Local Model Autonomy](https://banes-lab.com/records/lex/local-model-autonomy.md)

## tensions

- [Canonical Data Model Bounded Context Purity](https://banes-lab.com/records/tension/bounded-context-purity-canonical-data-model.md)
- [Canonical Data Model Local Model Autonomy](https://banes-lab.com/records/tension/canonical-data-model-local-model-autonomy.md)

## referenced-by

- [Canonical Schema](https://banes-lab.com/records/arch/canonical-schema.md)
