# Codebase / System Architecture Styles

> Every term in this category is listed as one record, with its kind, its definition and its aliases, the principles whose relations name it, the principle or…

Page: Ontology · Lexicon
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-category-codebase-system-architecture-styles

Listed in [Ontology · Lexicon](https://banes-lab.com/api/pages/ontology/lexicon.md), after [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lexicon-category-causality-ordering-distributed-time.md) and before [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md).

Every term in this category is listed as one record, with its kind, its definition and its aliases, the principles whose relations name it, the principle or contract that carries the same name where one exists, and the layer its category belongs to. A tag category also gives each term an example, which is the file the tag places or the rename from a refused word onto a covering tag.

### Adapters

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
Components that translate between a core's ports and the specific external technologies behind them.

Referenced by
[Ports and Adapters Architecture](https://banes-lab.com/records/architecture/ports-and-adapters-architecture.md)

How it is checked

Checked by
[Ports and Adapters Architecture](https://banes-lab.com/records/architecture/ports-and-adapters-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Anemic Layers

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The degree to which strict layering produces thin pass-through layers that add indirection without logic.

Referenced by
[Layered Architecture](https://banes-lab.com/records/architecture/layered-architecture.md)

How it is checked

Checked by
the tension resolution with layered-architecture

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Boundaries

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The requirement that clear boundaries separate the concentric layers of the system.

Referenced by
[Clean Architecture](https://banes-lab.com/records/architecture/clean-architecture.md)

How it is checked

Checked by
[Clean Architecture](https://banes-lab.com/records/architecture/clean-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Central Database Bottleneck

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
Funneling all state through one shared database that becomes the system's scaling bottleneck.

Referenced by
[Space-Based Architecture](https://banes-lab.com/records/architecture/space-based-architecture.md)

How it is checked

Checked by
[Space-Based Architecture](https://banes-lab.com/records/architecture/space-based-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Component Boundaries

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The requirement that each component expose a well-defined boundary and interface.

Referenced by
[Component-Based Architecture](https://banes-lab.com/records/architecture/component-based-architecture.md)

How it is checked

Checked by
[Component-Based Architecture](https://banes-lab.com/records/architecture/component-based-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Contract-Governed Service Reuse

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The ability to reuse services across an enterprise through well-defined contracts.

Referenced by
[Service-Oriented Architecture](https://banes-lab.com/records/architecture/service-oriented-architecture.md)

How it is checked

Checked by
[Service-Oriented Architecture](https://banes-lab.com/records/architecture/service-oriented-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Database-Bottleneck Removal

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The ability to eliminate the shared-database bottleneck by holding state in distributed memory.

Referenced by
[Space-Based Architecture](https://banes-lab.com/records/architecture/space-based-architecture.md)

How it is checked

Checked by
[Space-Based Architecture](https://banes-lab.com/records/architecture/space-based-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Decentralized Ownership

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The ability for separate teams to own, deploy and evolve their services independently.

Referenced by
[Microservices](https://banes-lab.com/records/architecture/microservices.md)

How it is checked

Checked by
[Microservices](https://banes-lab.com/records/architecture/microservices.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Dependency Rule

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The requirement that source-code dependencies point only inward, toward higher-level policy.

Referenced by
[Clean Architecture](https://banes-lab.com/records/architecture/clean-architecture.md)

Distinct from
[Boundaries](https://banes-lab.com/records/lexicon/boundaries.md): The dependency rule fixes the direction dependencies point, while boundaries are the lines between the layers they cross.

Distinct from
[Use Cases](https://banes-lab.com/records/lexicon/use-cases.md): The dependency rule governs direction, while use cases are the application operations held in their own layer.

How it is checked

Checked by
[Clean Architecture](https://banes-lab.com/records/architecture/clean-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Domain Core

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The requirement that pure domain logic occupy the core, isolated from external concerns.

Referenced by
[Hexagonal Architecture](https://banes-lab.com/records/architecture/hexagonal-architecture.md)

How it is checked

Checked by
[Hexagonal Architecture](https://banes-lab.com/records/architecture/hexagonal-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### End-to-End Traceability

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The degree to which decomposing flow into independent filters makes tracing a request end to end harder.

Referenced by
[Pipes and Filters](https://banes-lab.com/records/architecture/pipes-and-filters.md)

How it is checked

Checked by
the tension resolution with pipes-and-filters

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### External System Isolation

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The ability to isolate the core from external systems behind adapter boundaries.

Referenced by
[Hexagonal Architecture](https://banes-lab.com/records/architecture/hexagonal-architecture.md)

How it is checked

Checked by
[Hexagonal Architecture](https://banes-lab.com/records/architecture/hexagonal-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Feature Cohesion

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The degree to which all code serving one feature is grouped together rather than scattered by layer.

Referenced by
[Package by Feature](https://banes-lab.com/records/architecture/package-by-feature.md)

How it is checked

Checked by
[Package by Feature](https://banes-lab.com/records/architecture/package-by-feature.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Framework Independence

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The ability to keep business rules independent of any particular framework.

Referenced by
[Clean Architecture](https://banes-lab.com/records/architecture/clean-architecture.md)

How it is checked

Checked by
[Clean Architecture](https://banes-lab.com/records/architecture/clean-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Framework-Centric Core

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
Building the core around a specific framework, so the framework's concerns permeate the domain.

Referenced by
[Hexagonal Architecture](https://banes-lab.com/records/architecture/hexagonal-architecture.md)

How it is checked

Checked by
[Hexagonal Architecture](https://banes-lab.com/records/architecture/hexagonal-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Independent Scaling

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The degree to which a single deployable unit prevents scaling parts of the system independently.

Referenced by
[Monolith Architecture](https://banes-lab.com/records/architecture/monolith-architecture.md)

How it is checked

Checked by
the tension resolution with monolith-architecture

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Independent Stage Testing

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The ability to test each filter stage in isolation from the rest of the pipeline.

Referenced by
[Pipes and Filters](https://banes-lab.com/records/architecture/pipes-and-filters.md)

How it is checked

Checked by
[Pipes and Filters](https://banes-lab.com/records/architecture/pipes-and-filters.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Infrastructure Independence

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The ability to keep the core independent of the infrastructure it runs on.

Referenced by
[Ports and Adapters Architecture](https://banes-lab.com/records/architecture/ports-and-adapters-architecture.md)

How it is checked

Checked by
[Ports and Adapters Architecture](https://banes-lab.com/records/architecture/ports-and-adapters-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Initial Complexity

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The degree of upfront structural complexity introduced by defining ports and adapters.

Referenced by
[Hexagonal Architecture](https://banes-lab.com/records/architecture/hexagonal-architecture.md)

How it is checked

Checked by
the tension resolution with hexagonal-architecture

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Integration Overhead

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The degree of effort required to wire independently-developed components together.

Referenced by
[Component-Based Architecture](https://banes-lab.com/records/architecture/component-based-architecture.md)

How it is checked

Checked by
the tension resolution with component-based-architecture

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Layer Leakage

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
Letting an inner layer depend on an outer one, violating the direction of the dependency rule.

Referenced by
[Clean Architecture](https://banes-lab.com/records/architecture/clean-architecture.md)

How it is checked

Checked by
[Clean Architecture](https://banes-lab.com/records/architecture/clean-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Layer Separation

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The requirement that responsibilities be divided into distinct, ordered layers.

Referenced by
[Layered Architecture](https://banes-lab.com/records/architecture/layered-architecture.md)

How it is checked

Checked by
[Layered Architecture](https://banes-lab.com/records/architecture/layered-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Layer Skipping

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
Bypassing intermediate layers to call a distant layer directly, undermining the layering.

Referenced by
[Layered Architecture](https://banes-lab.com/records/architecture/layered-architecture.md)

How it is checked

Checked by
[Layered Architecture](https://banes-lab.com/records/architecture/layered-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Locality of Change

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The ability to make a feature's changes in one place because its code is grouped together.

Referenced by
[Package by Feature](https://banes-lab.com/records/architecture/package-by-feature.md)

How it is checked

Checked by
[Package by Feature](https://banes-lab.com/records/architecture/package-by-feature.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Monolithic Transform Function

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
Doing all processing in one large transform instead of a series of composable filter stages.

Referenced by
[Pipes and Filters](https://banes-lab.com/records/architecture/pipes-and-filters.md)

How it is checked

Checked by
[Pipes and Filters](https://banes-lab.com/records/architecture/pipes-and-filters.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Operational Simplicity

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The degree to which a single deployable unit keeps building, deploying, and operating simple.

Referenced by
[Monolith Architecture](https://banes-lab.com/records/architecture/monolith-architecture.md)

How it is checked

Checked by
[Monolith Architecture](https://banes-lab.com/records/architecture/monolith-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Package by Technical Layer Only

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
Organizing code by technical layer alone, scattering each feature across many packages.

Referenced by
[Package by Feature](https://banes-lab.com/records/architecture/package-by-feature.md)

How it is checked

Checked by
[Package by Feature](https://banes-lab.com/records/architecture/package-by-feature.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Ports

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The requirement that the core define abstract interface points through which all external interaction passes.

Referenced by
[Ports and Adapters Architecture](https://banes-lab.com/records/architecture/ports-and-adapters-architecture.md)

How it is checked

Checked by
[Ports and Adapters Architecture](https://banes-lab.com/records/architecture/ports-and-adapters-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Reorderable Stages

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The ability to reorder or recombine independent processing stages.

Referenced by
[Pipes and Filters](https://banes-lab.com/records/architecture/pipes-and-filters.md)

Distinct from
[Independent Stage Testing](https://banes-lab.com/records/lexicon/independent-stage-testing.md): Reorderable stages can be rearranged or recombined, while independent stage testing exercises each stage alone.

How it is checked

Checked by
[Pipes and Filters](https://banes-lab.com/records/architecture/pipes-and-filters.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Replicated In-Memory State

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The requirement that application state be kept in replicated in-memory grids rather than a central store.

Referenced by
[Space-Based Architecture](https://banes-lab.com/records/architecture/space-based-architecture.md)

How it is checked

Checked by
[Space-Based Architecture](https://banes-lab.com/records/architecture/space-based-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Shared Monolithic Application

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
Building one large shared application instead of composing independently-governed services.

Referenced by
[Service-Oriented Architecture](https://banes-lab.com/records/architecture/service-oriented-architecture.md)

How it is checked

Checked by
[Service-Oriented Architecture](https://banes-lab.com/records/architecture/service-oriented-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Shared Technical Concerns

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The degree to which grouping by feature complicates sharing cross-cutting technical code.

Referenced by
[Package by Feature](https://banes-lab.com/records/architecture/package-by-feature.md)

How it is checked

Checked by
the tension resolution with package-by-feature

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Structured Code Organization

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The ability to organize code predictably by assigning each responsibility to a layer.

Referenced by
[Layered Architecture](https://banes-lab.com/records/architecture/layered-architecture.md)

How it is checked

Checked by
[Layered Architecture](https://banes-lab.com/records/architecture/layered-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Transactional Simplicity

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The ability to use straightforward local transactions when all state lives in one process.

Referenced by
[Monolith Architecture](https://banes-lab.com/records/architecture/monolith-architecture.md)

How it is checked

Checked by
[Monolith Architecture](https://banes-lab.com/records/architecture/monolith-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Unbounded Big Ball of Mud

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
Letting a system grow without structure into a tangled mass with no clear boundaries.

Referenced by
[Monolith Architecture](https://banes-lab.com/records/architecture/monolith-architecture.md)

How it is checked

Checked by
[Monolith Architecture](https://banes-lab.com/records/architecture/monolith-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Unified Deployment Boundary

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The requirement that the whole application build and deploy as one unit.

Referenced by
[Monolith Architecture](https://banes-lab.com/records/architecture/monolith-architecture.md)

How it is checked

Checked by
[Monolith Architecture](https://banes-lab.com/records/architecture/monolith-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Uniform Stage Interface

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The requirement that every stage share one interface so stages can be composed freely.

Referenced by
[Pipes and Filters](https://banes-lab.com/records/architecture/pipes-and-filters.md)

How it is checked

Checked by
[Pipes and Filters](https://banes-lab.com/records/architecture/pipes-and-filters.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Use Cases

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)

Details

Definition
The requirement that application operations be captured as explicit use cases in their own layer.

Referenced by
[Clean Architecture](https://banes-lab.com/records/architecture/clean-architecture.md)

Distinct from
[Boundaries](https://banes-lab.com/records/lexicon/boundaries.md): Use cases are the operations in the application layer, while boundaries are the lines separating that layer from the others.

How it is checked

Checked by
[Clean Architecture](https://banes-lab.com/records/architecture/clean-architecture.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

## Links to

- [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- [Structural Core](https://banes-lab.com/records/layer/structural-core.md)
- [Ports and Adapters Architecture](https://banes-lab.com/records/architecture/ports-and-adapters-architecture.md)
- [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- [Layered Architecture](https://banes-lab.com/records/architecture/layered-architecture.md)
- [constraint](https://banes-lab.com/records/kind/constraint.md)
- [Clean Architecture](https://banes-lab.com/records/architecture/clean-architecture.md)
- [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- [Space-Based Architecture](https://banes-lab.com/records/architecture/space-based-architecture.md)
- [Component-Based Architecture](https://banes-lab.com/records/architecture/component-based-architecture.md)
- [capability](https://banes-lab.com/records/kind/capability.md)
- [Service-Oriented Architecture](https://banes-lab.com/records/architecture/service-oriented-architecture.md)
- [Microservices](https://banes-lab.com/records/architecture/microservices.md)
- [Boundaries](https://banes-lab.com/records/lexicon/boundaries.md)
- [Use Cases](https://banes-lab.com/records/lexicon/use-cases.md)
- [Hexagonal Architecture](https://banes-lab.com/records/architecture/hexagonal-architecture.md)
- [Pipes and Filters](https://banes-lab.com/records/architecture/pipes-and-filters.md)
- [Package by Feature](https://banes-lab.com/records/architecture/package-by-feature.md)
- [Monolith Architecture](https://banes-lab.com/records/architecture/monolith-architecture.md)
- [Independent Stage Testing](https://banes-lab.com/records/lexicon/independent-stage-testing.md)
