# Canonical Model

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

## Repair

- Refactored by: Introduce Canonical Model, Add Translator
- Detected by: same concept modeled inconsistently
- Violated by: duplicate conflicting representations
- Measured by: model duplication count
- Enforced by: schema governance, domain review

## requires

- [Semantic Consistency](https://banes-lab.com/records/arch/semantic-consistency.md)
- [Ubiquitous Language](https://banes-lab.com/records/arch/ubiquitous-language.md)

## reinforces

- [Single Source of Truth](https://banes-lab.com/records/arch/single-source-of-truth.md)

## enables

- [Normalized Translation](https://banes-lab.com/records/lex/normalized-translation.md)

## conflicts-with

- [Multiple Competing Models](https://banes-lab.com/records/lex/multiple-competing-models.md)

## tensions-with

- [Bounded Context Autonomy](https://banes-lab.com/records/lex/bounded-context-autonomy.md)

## tensions

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

## referenced-by

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