# Schema — Ontology — Bane's Lab

> Every record is classified by this closed kind taxonomy, listed in decision order with each kind's discriminator, what it is distinguished from, the definition…

Canonical: https://banes-lab.com/ontology/schema

# The Ontology

The ontology is a queryable canon of software architecture. It holds every principle with its relations and its repair, every term with its definition, every algorithm with its contract, the reasoning that derives them, the layers they live in and how every tension between them is resolved, and every reference from one record to another is a link.

## Schema

## Sections

- [The kind taxonomy](#the-kind-taxonomy)
- [Severity levels](#the-vocabulary-severity)
- [Domain tiers](#the-vocabulary-domain-tier)
- [Verdicts](#the-vocabulary-verdict)
- [Predicate types](#the-vocabulary-predicate-type)
- [Evidence sources](#the-vocabulary-evidence-source)
- [Resolution mechanisms](#the-vocabulary-resolution-mechanism)
- [Layer edge kinds](#the-vocabulary-layer-edge-kind)
- [Example shapes](#the-vocabulary-example-shape)
- [The relation ranges](#the-relation-ranges)
- [The forces](#the-forces)
- [The layer topology](#the-layer-topology)
- [The membership](#the-membership)
- [The resolutions](#the-resolutions)

## The kind taxonomy

Every record is classified by this closed kind taxonomy, listed in decision order with each kind's discriminator, what it is distinguished from, the definition openings that signal it, and how many principles and terms carry it. The reasoning behind the taxonomy is described in [every record has a kind](/software-architecture/principles#every-record-has-a-kind) on the architecture page.

[The 15 records of The kind taxonomy](/ontology/schema/the-kind-taxonomy)

## Severity levels

Each severity level is listed with its definition and the principles that carry it.

[The 4 records of Severity levels](/ontology/schema/the-vocabulary-severity)

## Domain tiers

Each domain tier is listed with its definition and the contracts whose domain carries it.

[The 3 records of Domain tiers](/ontology/schema/the-vocabulary-domain-tier)

## Verdicts

Each verdict is listed with its definition and the test surfaces that can return it.

[The 3 records of Verdicts](/ontology/schema/the-vocabulary-verdict)

## Predicate types

Each predicate type is listed with its definition and the test surfaces that use it.

[The 6 records of Predicate types](/ontology/schema/the-vocabulary-predicate-type)

## Evidence sources

Each evidence source is listed with its definition and the test surfaces that draw on it.

[The 4 records of Evidence sources](/ontology/schema/the-vocabulary-evidence-source)

## Resolution mechanisms

Each resolution mechanism is listed with its definition and the tensions it resolves.

[The 3 records of Resolution mechanisms](/ontology/schema/the-vocabulary-resolution-mechanism)

## Layer edge kinds

Each layer edge kind is listed with its definition and the topology edges that carry it.

[The 4 records of Layer edge kinds](/ontology/schema/the-vocabulary-layer-edge-kind)

## Example shapes

Each example shape is listed with its definition and the lexicon categories whose terms carry it.

[The 2 records of Example shapes](/ontology/schema/the-vocabulary-example-shape)

## The relation ranges

The relation ranges say which kinds each edge relation may point at. The polarity law says that one relation, conflicts with, points only at anti-patterns, and the slots the ranges constrain are derived in [principles are typed](/software-architecture/principles#principles-are-typed) on the architecture page.

[The 5 records of The relation ranges](/ontology/schema/the-relation-ranges)

## The forces

The algorithms and principles are joined by these canonical forces. Each force names the contracts that answer to it and the principles whose scope it is.

[The 19 records of The forces](/ontology/schema/the-forces)

## The layer topology

The layer topology holds the four core layers, the domains beneath them, the cross-cutting domains and the edges that join them. Every layer is an algorithm contract, and each record names the categories of principle and term that belong to it. Why a layer grouping exists beside the topical one is described in [the canon is grouped twice](/software-architecture/principles#the-canon-is-grouped-twice) on the architecture page.

[The 18 records of The layer topology](/ontology/schema/the-layer-topology)

## The membership

Every category of principle and term is listed with the layer it belongs to.

[The 43 records of The membership](/ontology/schema/the-membership)

## The resolutions

Every tension edge in the canon is listed with its resolution, meaning the two records, the mechanism that settles it, the layer each side owns and the rule. An explicit resolution is one the canon states, and the rest are derived from the layers the two sides occupy, by the derivation described in [separate, trade, or mitigate](/software-architecture/principles#separate-trade-or-mitigate) on the architecture page.

[The 394 records of The resolutions](/ontology/schema/the-resolutions)
