# Canonicalization

Record: `arch:canonicalization`
Kind: technique
Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)
Severity: recommended
Scope: input, data, security
Canonical: https://banes-lab.com/ontology#arch-canonicalization

## Repair

- Refactored by: Normalize Input, Canonicalize Before Compare
- Detected by: duplicate semantically equivalent values
- Violated by: comparing non-normalized forms
- Measured by: normalization defect count
- Enforced by: validation pipeline

## requires

- [Canonical Format](https://banes-lab.com/records/lex/canonical-format.md)

## reinforces

- [Validation](https://banes-lab.com/records/arch/validation.md)
- [Deduplication](https://banes-lab.com/records/lex/deduplication.md)

## enables

- [Idempotency](https://banes-lab.com/records/arch/idempotency.md)
- [Security Checks](https://banes-lab.com/records/lex/security-checks.md)

## conflicts-with

- [Ambiguous Encoding](https://banes-lab.com/records/lex/ambiguous-encoding.md)

## tensions-with

- [Lossless Preservation](https://banes-lab.com/records/lex/lossless-preservation.md)

## tensions

- [Canonicalization Lossless Preservation](https://banes-lab.com/records/tension/canonicalization-lossless-preservation.md)
