# Derived Naming Registry

Record: `arch:derived-naming-registry`
Kind: artifact
Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)
Severity: mandatory
Scope: repository, tooling
Canonical: https://banes-lab.com/ontology#arch-derived-naming-registry

## Repair

- Refactored by: Derive the Registry from the Document, Move Reasoning Back to the Document
- Detected by: a tag in the document and absent from the registry, or either way round
- Violated by: keeping the vocabulary in prose the gate cannot read, or the reasoning in the file the gate does read
- Measured by: document/registry drift count
- Enforced by: registry/document cross-check

## requires

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

## reinforces

- [Convention over Configuration](https://banes-lab.com/records/arch/convention-over-configuration.md)
- [Self-Describing Structures](https://banes-lab.com/records/arch/self-describing-structures.md)

## enables

- [Declared Jurisdiction](https://banes-lab.com/records/arch/declared-jurisdiction.md)
- [Placement Predictability](https://banes-lab.com/records/lex/placement-predictability.md)

## conflicts-with

- [Reasoning in the Registry](https://banes-lab.com/records/lex/reasoning-in-the-registry.md)

## contracts

- [Taxonomy Ledger](https://banes-lab.com/records/algo/taxonomy-ledger.md)
