# Domain Architecture

> 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-domain-architecture

Listed in [Ontology · Lexicon](https://banes-lab.com/api/pages/ontology/lexicon.md), after [Creational Patterns](https://banes-lab.com/ontology/lexicon/lexicon-category-creational-patterns.md) and before [Domain Concerns](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-concerns.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.

### Aggregate Size

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The degree to which enlarging an aggregate to enforce invariants increases contention and load on it.

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

How it is checked

Checked by
the tension resolution with aggregate

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 Model

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
A domain model holding only data with no behavior, pushing all logic into separate procedures.

Referenced by
[Domain Model](https://banes-lab.com/records/architecture/domain-model.md)

How it is checked

Checked by
[Domain Model](https://banes-lab.com/records/architecture/domain-model.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 Transaction Script

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
Implementing business logic as procedural scripts over data-only objects, with no rich domain model.

Referenced by
[Domain-Driven Design (DDD)](https://banes-lab.com/records/architecture/domain-driven-design.md)

How it is checked

Checked by
[Domain-Driven Design (DDD)](https://banes-lab.com/records/architecture/domain-driven-design.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

### Business Rule Encapsulation

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The ability to keep business rules inside the domain objects they govern.

Referenced by
[Domain Model](https://banes-lab.com/records/architecture/domain-model.md)

How it is checked

Checked by
[Domain Model](https://banes-lab.com/records/architecture/domain-model.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

### Cross-Context Reuse

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The degree to which isolating each context's model limits reusing models across contexts.

Referenced by
[Bounded Context](https://banes-lab.com/records/architecture/bounded-context.md)

How it is checked

Checked by
the tension resolution with bounded-context

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

### Cross-Entity Domain Logic

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The ability to place logic that spans several entities in a dedicated domain service.

Referenced by
[Domain Service](https://banes-lab.com/records/architecture/domain-service.md)

How it is checked

Checked by
[Domain Service](https://banes-lab.com/records/architecture/domain-service.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

### Documentation Overhead

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The degree of ongoing effort to document and maintain the map of relationships between contexts.

Referenced by
[Context Mapping](https://banes-lab.com/records/architecture/context-mapping.md)

How it is checked

Checked by
the tension resolution with context-mapping

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 Alignment

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The ability to keep the software model closely aligned with the business domain it serves.

Referenced by
[Domain-Driven Design (DDD)](https://banes-lab.com/records/architecture/domain-driven-design.md)

How it is checked

Checked by
[Domain-Driven Design (DDD)](https://banes-lab.com/records/architecture/domain-driven-design.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 Purity

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The degree to which the domain model stays free of external and infrastructure concerns.

Referenced by
[Anti-Corruption Layer](https://banes-lab.com/records/architecture/anti-corruption-layer.md)

How it is checked

Checked by
[Anti-Corruption Layer](https://banes-lab.com/records/architecture/anti-corruption-layer.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

### Explicit Boundary

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The requirement that a clear boundary separate the domain from external systems it integrates with.

Referenced by
[Anti-Corruption Layer](https://banes-lab.com/records/architecture/anti-corruption-layer.md)

How it is checked

Checked by
[Anti-Corruption Layer](https://banes-lab.com/records/architecture/anti-corruption-layer.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

### Identity-Based Equality

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The ability to treat two objects as the same when they share an identity, regardless of their attributes.

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

Distinct from
[Lifecycle Tracking](https://banes-lab.com/records/lexicon/lifecycle-tracking.md): Identity-based equality compares two objects by identity, while lifecycle tracking follows one object through its changes.

How it is checked

Checked by
[Entity](https://banes-lab.com/records/architecture/entity.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

### Implicit Integration

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
Integrating contexts through undocumented, assumed connections instead of explicit, mapped relationships.

Referenced by
[Context Mapping](https://banes-lab.com/records/architecture/context-mapping.md)

How it is checked

Checked by
[Context Mapping](https://banes-lab.com/records/architecture/context-mapping.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

### Integration Clarity

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The degree to which relationships between contexts are made explicit and understandable.

Referenced by
[Context Mapping](https://banes-lab.com/records/architecture/context-mapping.md)

How it is checked

Checked by
[Context Mapping](https://banes-lab.com/records/architecture/context-mapping.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

### Legacy/System Integration

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The ability to integrate a legacy or external system without letting its model corrupt the domain.

Referenced by
[Anti-Corruption Layer](https://banes-lab.com/records/architecture/anti-corruption-layer.md)

How it is checked

Checked by
[Anti-Corruption Layer](https://banes-lab.com/records/architecture/anti-corruption-layer.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

### Lifecycle Tracking

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The ability to track an entity as the same thing through changes over its lifetime.

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

How it is checked

Checked by
[Entity](https://banes-lab.com/records/architecture/entity.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

### Object Count

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The degree to which modeling many concepts as distinct value objects increases the number of objects.

Referenced by
[Value Object](https://banes-lab.com/records/architecture/value-object.md)

How it is checked

Checked by
the tension resolution with value-object

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

### Persistence Simplicity

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The degree to which a rich domain model complicates straightforward mapping to storage.

Referenced by
[Domain Model](https://banes-lab.com/records/architecture/domain-model.md)

How it is checked

Checked by
the tension resolution with domain-model

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

### Relationship Semantics

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The requirement that each relationship between bounded contexts carry a defined meaning.

Referenced by
[Context Mapping](https://banes-lab.com/records/architecture/context-mapping.md)

How it is checked

Checked by
[Context Mapping](https://banes-lab.com/records/architecture/context-mapping.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

### Root-Guarded Invariants

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The ability to enforce an aggregate's invariants by routing all changes through its root.

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

How it is checked

Checked by
[Aggregate](https://banes-lab.com/records/architecture/aggregate.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

### Self-Validating Values

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The ability for a value object to guarantee its own validity at construction.

Referenced by
[Value Object](https://banes-lab.com/records/architecture/value-object.md)

Distinct from
[Side-Effect-Free Equality](https://banes-lab.com/records/lexicon/side-effect-free-equality.md): Self-validating values guarantee validity at construction, while side-effect-free equality compares values by content.

How it is checked

Checked by
[Value Object](https://banes-lab.com/records/architecture/value-object.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 Global Model

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
Forcing one global model across the whole system, so unrelated parts are coupled through it.

Referenced by
[Bounded Context](https://banes-lab.com/records/architecture/bounded-context.md)

How it is checked

Checked by
[Bounded Context](https://banes-lab.com/records/architecture/bounded-context.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

### Side-Effect-Free Equality

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The ability to compare value objects by their contents with no side effects.

Referenced by
[Value Object](https://banes-lab.com/records/architecture/value-object.md)

How it is checked

Checked by
[Value Object](https://banes-lab.com/records/architecture/value-object.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

### Simple CRUD

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The degree to which a full domain model adds overhead where simple create-read-update-delete would suffice.

Referenced by
[Domain-Driven Design (DDD)](https://banes-lab.com/records/architecture/domain-driven-design.md)

How it is checked

Checked by
the tension resolution with domain-driven-design

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

### Stable Identity

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The requirement that an entity keep one stable identifier throughout its lifetime.

Referenced by
[Entity](https://banes-lab.com/records/architecture/entity.md), [Declared Subject](https://banes-lab.com/records/architecture/declared-subject.md), [Reversible Channel Encoding](https://banes-lab.com/records/architecture/reversible-channel-encoding.md), [Externally Resolved Slot](https://banes-lab.com/records/architecture/externally-resolved-slot.md)

How it is checked

Checked by
[Entity](https://banes-lab.com/records/architecture/entity.md), [Declared Subject](https://banes-lab.com/records/architecture/declared-subject.md), [Reversible Channel Encoding](https://banes-lab.com/records/architecture/reversible-channel-encoding.md), [Externally Resolved Slot](https://banes-lab.com/records/architecture/externally-resolved-slot.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 Consistency Boundary

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The ability to treat an aggregate as the unit within which invariants hold atomically.

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

Distinct from
[Root-Guarded Invariants](https://banes-lab.com/records/lexicon/root-guarded-invariants.md): The consistency boundary is the unit within which invariants hold atomically, while root-guarded invariants are enforced by routing every change through the root.

How it is checked

Checked by
[Aggregate](https://banes-lab.com/records/architecture/aggregate.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

### Translation Model

- Kind: [model](https://banes-lab.com/records/kind/model.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
A mapping between an external system's concepts and the domain's own, keeping the two vocabularies separate.

Referenced by
[Anti-Corruption Layer](https://banes-lab.com/records/architecture/anti-corruption-layer.md)

How it is checked

Checked by
[Anti-Corruption Layer](https://banes-lab.com/records/architecture/anti-corruption-layer.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

### Value Equality

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)

Details

Definition
The requirement that two value objects be treated as equal when all their attributes match.

Referenced by
[Value Object](https://banes-lab.com/records/architecture/value-object.md)

How it is checked

Checked by
[Value Object](https://banes-lab.com/records/architecture/value-object.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

- [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)
- [Aggregate](https://banes-lab.com/records/architecture/aggregate.md)
- [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- [Domain Model](https://banes-lab.com/records/architecture/domain-model.md)
- [Domain-Driven Design](https://banes-lab.com/records/architecture/domain-driven-design.md)
- [capability](https://banes-lab.com/records/kind/capability.md)
- [Bounded Context](https://banes-lab.com/records/architecture/bounded-context.md)
- [Domain Service](https://banes-lab.com/records/architecture/domain-service.md)
- [Context Mapping](https://banes-lab.com/records/architecture/context-mapping.md)
- [Anti-Corruption Layer](https://banes-lab.com/records/architecture/anti-corruption-layer.md)
- [constraint](https://banes-lab.com/records/kind/constraint.md)
- [Entity](https://banes-lab.com/records/architecture/entity.md)
- [Lifecycle Tracking](https://banes-lab.com/records/lexicon/lifecycle-tracking.md)
- [Value Object](https://banes-lab.com/records/architecture/value-object.md)
- [Side-Effect-Free Equality](https://banes-lab.com/records/lexicon/side-effect-free-equality.md)
- [Declared Subject](https://banes-lab.com/records/architecture/declared-subject.md)
- [Reversible Channel Encoding](https://banes-lab.com/records/architecture/reversible-channel-encoding.md)
- [Externally Resolved Slot](https://banes-lab.com/records/architecture/externally-resolved-slot.md)
- [Root-Guarded Invariants](https://banes-lab.com/records/lexicon/root-guarded-invariants.md)
- [model](https://banes-lab.com/records/kind/model.md)
