# taxonomy

> Every algorithm contract in this domain is listed with its position on the derivation loop, its intent and invariant, the flow it walks, its productions as a…

Page: Ontology · Algorithms
Canonical: https://banes-lab.com/ontology/algorithms#algo-domain-taxonomy

Every algorithm contract in this domain is listed with its position on the derivation loop, its intent and invariant, the flow it walks, its productions as a grammar, what it composes and is composed by, which forces and principles it answers to, what grounds it and what it grounds, and an exemplar where the record carries one. The diagram shows what composes what inside the domain.

Relations diagram

What composes what inside this domain.

```mermaid
flowchart LR
n_taxonomy_jurisdiction["Taxonomy Jurisdiction"]
n_reshape_risk_priority["Reshape Risk Priority"]
n_path_role_walk["Path Role Walk"]
n_concern_classification["Concern Classification"]
n_name_projection["Name Projection"]
n_container_reshape["Container Reshape"]
n_vocabulary_admission_gate["Vocabulary Admission Gate"]
n_discovery_verification["Discovery Verification"]
n_taxonomy_ledger["Taxonomy Ledger"]
n_taxonomy_completion["Taxonomy Completion"]
n_taxonomy_kernel["Taxonomy Kernel"]
n_taxonomy_concern["<Taxonomy Concern>"]
n_taxonomy_kernel --> n_taxonomy_jurisdiction
n_taxonomy_kernel --> n_reshape_risk_priority
n_taxonomy_kernel --> n_path_role_walk
n_taxonomy_kernel --> n_concern_classification
n_taxonomy_kernel --> n_name_projection
n_taxonomy_kernel --> n_container_reshape
n_taxonomy_kernel --> n_vocabulary_admission_gate
n_taxonomy_kernel --> n_discovery_verification
n_taxonomy_kernel --> n_taxonomy_ledger
n_taxonomy_kernel --> n_taxonomy_completion
```

### Taxonomy Jurisdiction

- Stage: [orient](https://banes-lab.com/records/stage/orient.md)
- Axis: [ontology](https://banes-lab.com/records/reason/axis-ontology.md)
- Math type: [set-theory](https://banes-lab.com/records/reason/math-type-set-theory.md)
- Yields: set | boolean

Details

Intent
Read the registry's root, container, bucket and ignore declarations, enumerate every file under a declared root, and separate the governed set from the ignored set and from the folders declared as neither, so jurisdiction is read rather than inferred.

Invariant
No declaration, no enforcement: a file is governed only under a declared root, and a root folder in neither the container nor the bucket declaration is a finding rather than a new container.

Flow

```text
Registry → GovernedRootSet → ContainerSet → GovernedFileSet → FlaggedFolderSet
```

Productions

```bnf
TaxonomyJurisdiction ::= <Registry> "->" <GovernedRootSet> "->" <JurisdictionPartition>
JurisdictionPartition ::= <GovernedFileSet> "," <IgnoredSet> "," <FlaggedFolderSet>
GovernedRootSet ::= <ContainerSet> "," <BucketSet> "," <IgnoreSet>
```

Composes
none

Composed by
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Named in the derivation of
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Forces
[semantic_consistency](https://banes-lab.com/records/force/semantic-consistency.md), [architecture_evolution](https://banes-lab.com/records/force/architecture-evolution.md)

Principle
[Declared Jurisdiction](https://banes-lab.com/records/arch/declared-jurisdiction.md)

Grounds
none

Before

```text
Whether a file is governed is decided per file as it comes up, so an undeclared tree is silently exempt and a stray root-level folder reads as legitimate.
```

After

```text
registry → governed roots → containers + buckets + ignore entries → the governed file set, and the flagged set of root folders declared as neither
```

### Reshape Risk Priority

- Stage: [intent](https://banes-lab.com/records/stage/intent.md)
- Axis: [teleology](https://banes-lab.com/records/reason/axis-teleology.md)
- Math type: [optimisation](https://banes-lab.com/records/reason/math-type-optimisation.md)
- Yields: boolean | ranking

Details

Intent
Score each governed container by how much reference surface a rename disturbs — importer count and the number of surfaces that resolve by pattern rather than by literal path — and rank ascending, so the pilot is the lowest-risk container and the highest-risk one lands last.

Invariant
The container converted first is the one whose failure is cheapest to detect, not the one whose naming is worst.

Flow

```text
ContainerSet → ReferenceSurfaceCount → RiskScore → OrderedContainerQueue
```

Productions

```bnf
ReshapeRiskPriority ::= <ContainerSet> "->" <RiskScoreSet> "->" <OrderedContainerQueue>
RiskScore ::= <ImporterCount> "*" <ShapeDiscoveredSurfaceCount>
```

Composes
none

Composed by
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Named in the derivation of
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Forces
[architecture_evolution](https://banes-lab.com/records/force/architecture-evolution.md), [correctness_verification](https://banes-lab.com/records/force/correctness-verification.md)

Principle
[Manual Identity Migration](https://banes-lab.com/records/arch/manual-identity-migration.md)

Grounds
[tel-priority](https://banes-lab.com/records/reason/node-tel-priority.md)

Before

```text
Conversion starts wherever the tree looks worst, so the first container is the one with the most importers and the most pattern-resolved aggregators.
```

After

```text
containers → score(importer count x shape-discovered surface count) → ascending rank → pilot the lowest-risk container end to end first
```

### Path Role Walk

- Stage: [see](https://banes-lab.com/records/stage/see.md)
- Axis: [analysis](https://banes-lab.com/records/reason/axis-analysis.md)
- Math type: [graph](https://banes-lab.com/records/reason/math-type-graph.md)
- Yields: edge-list

Details

Intent
Walk every governed path from its root, assign each folder depth a role from the declared grammar in the ordered sequence container then subject then concern, and emit the depth-to-role edge list together with the depths that repeat a role, revisit an earlier one, or exceed the cap.

Invariant
Each depth consumes a role strictly later than the depth before it, a role may be skipped but never repeated or revisited, and the file's parent always resolves to the concern role.

Flow

```text
GovernedPath → DepthSequence → RoleAssignment → RoleEdgeList → DepthViolationSet
```

Productions

```bnf
PathRoleWalk ::= <GovernedPath> "->" <RoleAssignment> "->" <RoleEdgeList> "," <DepthViolationSet>
RoleAssignment ::= <Container> "<" <Subject> "<" <Concern>
DepthViolation ::= "over_cap" | "role_repeated" | "role_revisited" | "file_outside_concern"
```

Composes
none

Composed by
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Named in the derivation of
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Forces
[modularity](https://banes-lab.com/records/force/modularity.md), [semantic_consistency](https://banes-lab.com/records/force/semantic-consistency.md)

Principle
[Bounded Nesting Depth](https://banes-lab.com/records/arch/bounded-nesting-depth.md)

Grounds
none

Before

```text
A path is judged by whether it looks tidy, so a concern folder nested under a concern folder and a subject folder below its concern both read as ordinary nesting.
```

After

```text
path → assign each depth a role in the order container < subject < concern → depth<=cap and no role repeated or revisited → the role-assignment edge list plus the violating depths
```

### Concern Classification

- Stage: [derive](https://banes-lab.com/records/stage/derive.md)
- Axis: [reasoning](https://banes-lab.com/records/reason/axis-reasoning.md)
- Math type: [logic](https://banes-lab.com/records/reason/math-type-logic.md)
- Yields: boolean

Details

Intent
Read each governed file, assign the narrowest accurate concern from the declared vocabulary by its primary responsibility, record a file that fits two concerns as a split candidate, and break an irreducible overlap by the domain-ward layer, so classification is judgement against the file rather than pattern-matching against its path.

Invariant
A concern is assigned by reading the file, never by its current location; a file that fits two concerns is a split candidate, not a tie to be broken arbitrarily.

Flow

```text
GovernedFile → PrimaryResponsibility → CandidateConcernSet → AssignedConcern → SplitCandidateSet
```

Productions

```bnf
ConcernClassification ::= <GovernedFile> "->" <CandidateConcernSet> "->" <AssignedConcern> "|" <SplitCandidate>
CandidateConcernSet ::= <PrimaryResponsibility> "->" <DeclaredConcern> "+"
AssignedConcern ::= <NarrowestAccurateConcern> "|" <DomainWardTieBreak>
```

Composes
none

Composed by
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Named in the derivation of
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Forces
[semantic_consistency](https://banes-lab.com/records/force/semantic-consistency.md), [domain_boundary](https://banes-lab.com/records/force/domain-boundary.md)

Principle
[Narrowest Concern](https://banes-lab.com/records/arch/narrowest-concern.md)

Grounds
[semantic-correctness](https://banes-lab.com/records/reason/test-surface-semantic-correctness.md)

Before

```text
A file is tagged from where it currently sits, so a saturated label absorbs several distinct roles and a two-role file is hidden under whichever word came first.
```

After

```text
read the file → narrowest accurate declared concern → one concern: classified; two concerns: split candidate; irreducible overlap: domain-ward layer wins
```

### Name Projection

- Stage: [project](https://banes-lab.com/records/stage/project.md)
- Axis: [reasoning](https://banes-lab.com/records/reason/axis-reasoning.md)
- Math type: [algebra](https://banes-lab.com/records/reason/math-type-algebra.md)
- Yields: ordered-structure

Details

Intent
Compose the target name from the assigned concern, the subject, and a variant taken only where a collision or a facet requires one, and derive the folder chain from that same concern, so the filename and its placement are one projection rather than two decisions.

Invariant
The concern tag terminates the filename and names the parent folder, so the name determines the placement and one unanchored pattern resolves either level.

Flow

```text
AssignedConcern → SubjectSelection → VariantTrigger → TargetName → TargetFolderChain
```

Productions

```bnf
NameProjection ::= <AssignedConcern> "," <Subject> "," <VariantTrigger> "->" <TargetName> "," <TargetFolderChain>
TargetName ::= <Subject> "." <Variant>? "." <ConcernTag> "." <Extension>
TargetFolderChain ::= <Container> "/" <SubjectFolder>? "/" <ConcernFolder>
VariantTrigger ::= "collision" | "facet" | "none"
```

Composes
none

Composed by
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Named in the derivation of
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Forces
[semantic_consistency](https://banes-lab.com/records/force/semantic-consistency.md), [contract_compatibility](https://banes-lab.com/records/force/contract-compatibility.md)

Principle
[Positional Slot Resolution](https://banes-lab.com/records/arch/positional-slot-resolution.md)

Grounds
none

Before

```text
The new name is written by hand, so the tag lands mid-name, a compound swallows the concern, and the folder chain is chosen separately from the filename.
```

After

```text
(subject, variant?, concern, ext) → foo.<variant>.<concern>.<ext> with the tag terminating → the folder chain container/[subject]/<concern-folder> that the tag itself determines
```

### Container Reshape

- Stage: [act](https://banes-lab.com/records/stage/act.md)
- Axis: [formalisation](https://banes-lab.com/records/reason/axis-formalisation.md)
- Math type: [computation](https://banes-lab.com/records/reason/math-type-computation.md)
- Yields: procedure

Details

Intent
Convert one container at a time: split the multi-role files first, move and rename each remaining file to its projected name and folder, update every importer in the same pass, move the mirrored tests to match the new concern folders, and re-point every surface whose pattern encoded the old form.

Invariant
A rename is one identity migration completed within a single container, references included; the gate is green before the next container starts.

Flow

```text
OrderedContainerQueue → SplitExecution → MoveRename → ImporterUpdate → TestMirrorMove → SurfaceRepoint
```

Productions

```bnf
ContainerReshape ::= <Container> "->" <SplitExecution> "->" <MoveRename> "->" <ReferenceUpdate> "->" <SurfaceRepoint>
ReferenceUpdate ::= <ImporterUpdate> "," <TestMirrorMove>
```

Composes
none

Composed by
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Named in the derivation of
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Forces
[architecture_evolution](https://banes-lab.com/records/force/architecture-evolution.md), [modularity](https://banes-lab.com/records/force/modularity.md)

Principle
[Manual Identity Migration](https://banes-lab.com/records/arch/manual-identity-migration.md)

Grounds
none

Before

```text
A rename tool rewrites every literal path across the whole tree at once, and the surfaces that resolve by pattern are never re-pointed.
```

After

```text
one container → split candidates first → move and rename → update every importer → move the mirrored tests → re-point every shape-discovered surface → gate green before the next container
```

### Vocabulary Admission Gate

- Stage: [constrain](https://banes-lab.com/records/stage/constrain.md)
- Axis: [teleology](https://banes-lab.com/records/reason/axis-teleology.md)
- Math type: [optimisation](https://banes-lab.com/records/reason/math-type-optimisation.md)
- Yields: boolean

Details

Intent
Hold every proposed word against the declared vocabularies and the rejection table, resolve and name the declared word that covers it where one does, refuse a word that names a process, an adjective, a grouping label, or a measurement, sort a surviving word by the is-a test into concerns or subjects, and admit it only by developer-approved registry edit.

Invariant
An undeclared word is a finding, never a license to add one, and a refusal names the covering word wherever the table resolves one; coverage is decided by the role a file plays, never by general-language synonymy.

Flow

```text
ProposedWord → CoverageCheck → CoveringConcern → IsATest → AdmissionVerdict
```

Productions

```bnf
VocabularyAdmissionGate ::= <ProposedWord> "->" <CoverageCheck> "->" <IsATest> "->" <AdmissionVerdict>
CoverageCheck ::= <ProposedWord> "->" <RejectionTableIndex> "->" <CoveringConcern> "|" "uncovered"
RejectionTableIndex ::= <RefusedWord> "->" <DeclaredConcern>
AdmissionVerdict ::= "admit_concern" | "admit_subject" | "refuse_rename_file" | "refuse_covered_by" <CoveringConcern>
```

Composes
none

Composed by
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Named in the derivation of
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Forces
[semantic_consistency](https://banes-lab.com/records/force/semantic-consistency.md), [model_governance](https://banes-lab.com/records/force/model-governance.md)

Principle
[Closed Vocabulary](https://banes-lab.com/records/arch/closed-vocabulary.md)

Grounds
[tel-priority](https://banes-lab.com/records/reason/node-tel-priority.md)

Before

```text
An unclassifiable file is answered by adding its word to the vocabulary, or by an ignore entry, and the check goes green either way; where a word is refused, the refusal names only what is wrong.
```

After

```text
proposed word → rejection-table index resolves the covering concern: refuse naming it, and rename the file → uncovered: is-a a role: concerns; has-a a thing: subjects → otherwise refuse; admission is a developer-approved registry edit
```

### Discovery Verification

- Stage: [verify](https://banes-lab.com/records/stage/verify.md)
- Axis: [verification](https://banes-lab.com/records/reason/axis-verification.md)
- Math type: [logic](https://banes-lab.com/records/reason/math-type-logic.md)
- Yields: boolean

Details

Intent
For every shape-discovered surface touched by the reshape, compare the member set it collects against what it collected before, and issue the verdict from that comparison, so a collection that silently emptied is caught rather than read as a clean pass.

Invariant
A green gate is not evidence for a pattern-resolved surface; the verdict comes from the collected member set, and an unexplained drop is a failure.

Flow

```text
ShapeDiscoveredSurfaceSet → CollectedSetBefore → CollectedSetAfter → DiscoveryVerdict
```

Productions

```bnf
DiscoveryVerification ::= <ShapeDiscoveredSurfaceSet> "->" <CollectedSetDelta> "->" <DiscoveryVerdict>
CollectedSetDelta ::= <CollectedSetBefore> "-" <CollectedSetAfter>
DiscoveryVerdict ::= "preserved" | "intended_change" | "silently_emptied"
```

Composes
none

Composed by
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Named in the derivation of
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Forces
[correctness_verification](https://banes-lab.com/records/force/correctness-verification.md), [observability_traceability](https://banes-lab.com/records/force/observability-traceability.md)

Principle
[Glob-Resolvable Tree](https://banes-lab.com/records/arch/glob-resolvable-tree.md)

Grounds
[ver-evidence](https://banes-lab.com/records/reason/node-ver-evidence.md)

Before

```text
The gate is green after the rename, so the reshape is called done; the aggregator that collected by suffix now collects nothing and there is nothing left to check.
```

After

```text
per aggregator → collected member set before vs after → equal or intentionally changed: pass; silently emptied or shrunk: fail, and a green gate is not evidence
```

### Taxonomy Ledger

- Stage: [commit](https://banes-lab.com/records/stage/commit.md)
- Axis: [representation](https://banes-lab.com/records/reason/axis-representation.md)
- Math type: [information-theory](https://banes-lab.com/records/reason/math-type-information-theory.md)
- Yields: hash | novelty-score

Details

Intent
Record the registry version, the conversion state of each container, and every admitted and refused word with its reasoning, so the taxonomy's history is durable evidence rather than a fact re-derived from the tree on each pass.

Invariant
A refusal is recorded with its reason, so the answer to why a word is absent is retrievable rather than lost.

Flow

```text
RegistryVersion → ContainerConversionState → AdmissionRecordSet → TaxonomyLedger
```

Productions

```bnf
TaxonomyLedger ::= <RegistryVersion> "," <ContainerConversionState> "," <AdmissionRecordSet>
AdmissionRecord ::= <ProposedWord> "," <AdmissionVerdict> "," <Reasoning>
```

Composes
none

Composed by
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Named in the derivation of
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Forces
[observability_traceability](https://banes-lab.com/records/force/observability-traceability.md), [architecture_evolution](https://banes-lab.com/records/force/architecture-evolution.md)

Principle
[Derived Naming Registry](https://banes-lab.com/records/arch/derived-naming-registry.md)

Grounds
none

Before

```text
Which containers are converted and which words were refused is remembered rather than recorded, so the same rejected word is proposed again and the vocabulary drifts from the document.
```

After

```text
registry version + per-container conversion state + admitted and refused words → a durable ledger the next reshape and the next proposal both read
```

### Taxonomy Completion

- Stage: [terminate](https://banes-lab.com/records/stage/terminate.md)
- Axis: [termination](https://banes-lab.com/records/reason/axis-termination.md)
- Math type: [logic](https://banes-lab.com/records/reason/math-type-logic.md)
- Yields: boolean

Details

Intent
Mark the taxonomy complete only when every governed file resolves against the grammar at both levels, no split candidate is outstanding, and every shape-discovered surface has a preserved verdict, leaving it incomplete while any residual remains.

Invariant
Completion is the absence of residual findings, never a converted-container count, and never a finding removed by an ignore entry.

Flow

```text
TaxonomyLedger → ResidualFindingSet → CompletionVerdict
```

Productions

```bnf
TaxonomyCompletion ::= <TaxonomyLedger> "->" <ResidualFindingSet> "->" <CompletionVerdict>
ResidualFindingSet ::= <PlacementViolationSet> "+" <NamingViolationSet> "+" <SplitCandidateSet> "+" <UnverifiedSurfaceSet>
CompletionVerdict ::= "taxonomy_complete" | "taxonomy_incomplete"
```

Composes
none

Composed by
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Named in the derivation of
[Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)

Forces
[correctness_verification](https://banes-lab.com/records/force/correctness-verification.md), [semantic_consistency](https://banes-lab.com/records/force/semantic-consistency.md)

Principle
[Concern-Folder Correspondence](https://banes-lab.com/records/arch/concern-folder-correspondence.md)

Grounds
[ter-stop](https://banes-lab.com/records/reason/node-ter-stop.md)

Before

```text
Conversion is declared done on the container count, while unclassified files sit under an ignore entry and one aggregator still collects nothing.
```

After

```text
every governed file placed and named to the grammar AND every split candidate resolved AND every surface verified preserved → complete; any residual → incomplete
```

### Taxonomy Kernel

- Math type: [computation](https://banes-lab.com/records/reason/math-type-computation.md)
- Yields: procedure

Details

Intent
Resolve jurisdiction from the registry, order the containers by reshape risk, walk each path into its ordered roles, classify each file to its narrowest concern, project the name and the folder chain together, reshape one container at a time, hold every proposed word at the admission gate, verify that pattern-resolved surfaces still collect what they collected, ledger the state, and terminate only when no residual finding remains.

Invariant
Placement and naming are one derivation from a declared vocabulary to a verified tree, in which every folder and every filename slot resolves to a declared word and one unanchored pattern resolves a concern at either level.

Flow

```text
Jurisdiction → RiskPriority → RoleWalk → Classification → NameProjection → Reshape → AdmissionGate → DiscoveryVerification → Ledger → Completion
```

Productions

```bnf
TaxonomyKernel ::= <TaxonomyJurisdiction> "->" <ReshapeRiskPriority> "->" <PathRoleWalk> "->" <ConcernClassification> "->" <NameProjection> "->" <ContainerReshape> "->" <VocabularyAdmissionGate> "->" <DiscoveryVerification> "->" <TaxonomyLedger> "->" <TaxonomyCompletion>
```

Composes
[Taxonomy Jurisdiction](https://banes-lab.com/records/algo/taxonomy-jurisdiction.md), [Reshape Risk Priority](https://banes-lab.com/records/algo/reshape-risk-priority.md), [Path Role Walk](https://banes-lab.com/records/algo/path-role-walk.md), [Concern Classification](https://banes-lab.com/records/algo/concern-classification.md), [Name Projection](https://banes-lab.com/records/algo/name-projection.md), [Container Reshape](https://banes-lab.com/records/algo/container-reshape.md), [Vocabulary Admission Gate](https://banes-lab.com/records/algo/vocabulary-admission-gate.md), [Discovery Verification](https://banes-lab.com/records/algo/discovery-verification.md), [Taxonomy Ledger](https://banes-lab.com/records/algo/taxonomy-ledger.md), [Taxonomy Completion](https://banes-lab.com/records/algo/taxonomy-completion.md)

Forces
[semantic_consistency](https://banes-lab.com/records/force/semantic-consistency.md), [modularity](https://banes-lab.com/records/force/modularity.md), [architecture_evolution](https://banes-lab.com/records/force/architecture-evolution.md), [correctness_verification](https://banes-lab.com/records/force/correctness-verification.md)

Principle
[Closed Vocabulary](https://banes-lab.com/records/arch/closed-vocabulary.md)

Grounds
[derivation-loop](https://banes-lab.com/ontology/reasoning/reason-loop-derivation-loop.md)

Derivation map

orient
[Taxonomy Jurisdiction](https://banes-lab.com/records/algo/taxonomy-jurisdiction.md)

intent
[Reshape Risk Priority](https://banes-lab.com/records/algo/reshape-risk-priority.md)

see
[Path Role Walk](https://banes-lab.com/records/algo/path-role-walk.md)

derive
[Concern Classification](https://banes-lab.com/records/algo/concern-classification.md)

project
[Name Projection](https://banes-lab.com/records/algo/name-projection.md)

act
[Container Reshape](https://banes-lab.com/records/algo/container-reshape.md)

constrain
[Vocabulary Admission Gate](https://banes-lab.com/records/algo/vocabulary-admission-gate.md)

verify
[Discovery Verification](https://banes-lab.com/records/algo/discovery-verification.md)

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

terminate
[Taxonomy Completion](https://banes-lab.com/records/algo/taxonomy-completion.md)

Before

```text
Naming and placement are conventions carried in reviewers' heads, so a path has more than one right answer, an undeclared word enters whenever a file resists classification, and no pattern resolves a concern tree-wide.
```

After

```text
jurisdiction → risk priority → role walk → classification → name projection → container reshape → admission gate → discovery verification → ledger → completion
```

### <Taxonomy Concern>

- Meta record

Details

Intent
<Resolve jurisdiction from the declared roots> → <Order containers by reshape risk> → <Walk each path into ordered roles> → <Classify each file to its narrowest concern> → <Project the name and its folder chain together> → <Reshape one container at a time> → <Hold every proposed word at the admission gate> → <Verify pattern-resolved discovery survived> → <Ledger the state> → <Terminate on no residual finding>

Invariant
Every governed folder and every filename slot resolves to a word from a closed declared vocabulary, the concern tag terminates the filename and names its parent folder, and no path exceeds the declared depth cap.

Flow

```text
Jurisdiction → RoleWalk → Classification → NameProjection → Reshape → AdmissionGate → Verification → Ledger
```

Productions

```bnf
TaxonomyConcern ::= <GovernedRootSet> "->" <RoleEdgeList> "->" <AssignedConcern> "->" <TargetName> "," <TargetFolderChain> "->" <DiscoveryVerdict> "->" <TaxonomyLedger>
```

Composes
none

Forces
[semantic_consistency](https://banes-lab.com/records/force/semantic-consistency.md), [modularity](https://banes-lab.com/records/force/modularity.md)

Grounds
none

## Links to

- [Orient](https://banes-lab.com/records/stage/orient.md)
- [Ontology](https://banes-lab.com/records/reason/axis-ontology.md)
- [Set Theory](https://banes-lab.com/records/reason/math-type-set-theory.md)
- [Taxonomy Kernel](https://banes-lab.com/records/algo/taxonomy-kernel.md)
- [semantic_consistency](https://banes-lab.com/records/force/semantic-consistency.md)
- [architecture_evolution](https://banes-lab.com/records/force/architecture-evolution.md)
- [Declared Jurisdiction](https://banes-lab.com/records/arch/declared-jurisdiction.md)
- [Intent](https://banes-lab.com/records/stage/intent.md)
- [Teleology](https://banes-lab.com/records/reason/axis-teleology.md)
- [Optimisation](https://banes-lab.com/records/reason/math-type-optimisation.md)
- [correctness_verification](https://banes-lab.com/records/force/correctness-verification.md)
- [Manual Identity Migration](https://banes-lab.com/records/arch/manual-identity-migration.md)
- [Tel Priority](https://banes-lab.com/records/reason/node-tel-priority.md)
- [See](https://banes-lab.com/records/stage/see.md)
- [Analysis](https://banes-lab.com/records/reason/axis-analysis.md)
- [Graph](https://banes-lab.com/records/reason/math-type-graph.md)
- [modularity](https://banes-lab.com/records/force/modularity.md)
- [Bounded Nesting Depth](https://banes-lab.com/records/arch/bounded-nesting-depth.md)
- [Derive](https://banes-lab.com/records/stage/derive.md)
- [Reasoning](https://banes-lab.com/records/reason/axis-reasoning.md)
- [Logic](https://banes-lab.com/records/reason/math-type-logic.md)
- [domain_boundary](https://banes-lab.com/records/force/domain-boundary.md)
- [Narrowest Concern](https://banes-lab.com/records/arch/narrowest-concern.md)
- [Semantic Correctness](https://banes-lab.com/records/reason/test-surface-semantic-correctness.md)
- [Project](https://banes-lab.com/records/stage/project.md)
- [Algebra](https://banes-lab.com/records/reason/math-type-algebra.md)
- [contract_compatibility](https://banes-lab.com/records/force/contract-compatibility.md)
- [Positional Slot Resolution](https://banes-lab.com/records/arch/positional-slot-resolution.md)
- [Act](https://banes-lab.com/records/stage/act.md)
- [Formalisation](https://banes-lab.com/records/reason/axis-formalisation.md)
- [Computation](https://banes-lab.com/records/reason/math-type-computation.md)
- [Constrain](https://banes-lab.com/records/stage/constrain.md)
- [model_governance](https://banes-lab.com/records/force/model-governance.md)
- [Closed Vocabulary](https://banes-lab.com/records/arch/closed-vocabulary.md)
- [Verify](https://banes-lab.com/records/stage/verify.md)
- [Verification](https://banes-lab.com/records/reason/axis-verification.md)
- [observability_traceability](https://banes-lab.com/records/force/observability-traceability.md)
- [Glob-Resolvable Tree](https://banes-lab.com/records/arch/glob-resolvable-tree.md)
- [Ver Evidence](https://banes-lab.com/records/reason/node-ver-evidence.md)
- [Commit](https://banes-lab.com/records/stage/commit.md)
- [Representation](https://banes-lab.com/records/reason/axis-representation.md)
- [Information Theory](https://banes-lab.com/records/reason/math-type-information-theory.md)
- [Derived Naming Registry](https://banes-lab.com/records/arch/derived-naming-registry.md)
- [Terminate](https://banes-lab.com/records/stage/terminate.md)
- [Termination](https://banes-lab.com/records/reason/axis-termination.md)
- [Concern-Folder Correspondence](https://banes-lab.com/records/arch/concern-folder-correspondence.md)
- [Ter Stop](https://banes-lab.com/records/reason/node-ter-stop.md)
- [Taxonomy Jurisdiction](https://banes-lab.com/records/algo/taxonomy-jurisdiction.md)
- [Reshape Risk Priority](https://banes-lab.com/records/algo/reshape-risk-priority.md)
- [Path Role Walk](https://banes-lab.com/records/algo/path-role-walk.md)
- [Concern Classification](https://banes-lab.com/records/algo/concern-classification.md)
- [Name Projection](https://banes-lab.com/records/algo/name-projection.md)
- [Container Reshape](https://banes-lab.com/records/algo/container-reshape.md)
- [Vocabulary Admission Gate](https://banes-lab.com/records/algo/vocabulary-admission-gate.md)
- [Discovery Verification](https://banes-lab.com/records/algo/discovery-verification.md)
- [Taxonomy Ledger](https://banes-lab.com/records/algo/taxonomy-ledger.md)
- [Taxonomy Completion](https://banes-lab.com/records/algo/taxonomy-completion.md)
- [The derivation loop](https://banes-lab.com/ontology/reasoning/reason-loop-derivation-loop.md)
