# Event Messaging Async

> 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-event-messaging-async

Listed in [Ontology · Lexicon](https://banes-lab.com/api/pages/ontology/lexicon.md), after [Error Handling / Resilience](https://banes-lab.com/ontology/lexicon/lexicon-category-error-handling-resilience.md) and before [Infrastructure Concerns](https://banes-lab.com/ontology/lexicon/lexicon-category-infrastructure-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.

### Asynchronous Processing

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to handle work without blocking the caller, decoupling request from completion.

Referenced by
[Message Queue](https://banes-lab.com/records/architecture/message-queue.md)

How it is checked

Checked by
[Message Queue](https://banes-lab.com/records/architecture/message-queue.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

### At-Least-Once Delivery Safety

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which a message is guaranteed to be delivered at least once, tolerating duplicates.

Referenced by
[Idempotent Consumer](https://banes-lab.com/records/architecture/idempotent-consumer.md)

How it is checked

Checked by
[Idempotent Consumer](https://banes-lab.com/records/architecture/idempotent-consumer.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

### Atomic State Change + Message Publish

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to commit a state change and publish its corresponding message as one atomic unit.

Referenced by
[Outbox Pattern](https://banes-lab.com/records/architecture/outbox-pattern.md)

How it is checked

Checked by
[Outbox Pattern](https://banes-lab.com/records/architecture/outbox-pattern.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

### Broker/Event Bus

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
A runtime intermediary that routes messages between publishers and subscribers.

Referenced by
[Publish/Subscribe Pattern](https://banes-lab.com/records/architecture/publish-subscribe-pattern.md)

How it is checked

Checked by
[Publish/Subscribe Pattern](https://banes-lab.com/records/architecture/publish-subscribe-pattern.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 Complexity

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree of domain intricacy that a coordination mechanism must accommodate.

Referenced by
[Compensating Transaction](https://banes-lab.com/records/architecture/compensating-transaction.md)

How it is checked

Checked by
the tension resolution with compensating-transaction

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

### Command/Query Separation

- Kind: [principle](https://banes-lab.com/records/kind/principle.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Separating operations that change state from those that return data, so each method has a single purpose.

Referenced by
[CQRS](https://banes-lab.com/records/architecture/command-query-responsibility-segregation.md)

How it is checked

Checked by
[CQRS](https://banes-lab.com/records/architecture/command-query-responsibility-segregation.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

### Compensating Transactions

- Kind: [technique](https://banes-lab.com/records/kind/technique.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Undoing a completed step's effects with an offsetting action when a later step in a distributed workflow fails.

Referenced by
[Saga Pattern](https://banes-lab.com/records/architecture/saga-pattern.md)

How it is checked

Checked by
[Saga Pattern](https://banes-lab.com/records/architecture/saga-pattern.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

### Consumer

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
A component that receives and processes messages from a queue or topic.

Referenced by
[Message Queue](https://banes-lab.com/records/architecture/message-queue.md)

How it is checked

Checked by
[Message Queue](https://banes-lab.com/records/architecture/message-queue.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

### Consumer Elasticity

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to add or remove consumers dynamically to match message volume.

Referenced by
[Competing Consumers](https://banes-lab.com/records/architecture/competing-consumers.md)

How it is checked

Checked by
[Competing Consumers](https://banes-lab.com/records/architecture/competing-consumers.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-Service Communication

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability for independent services to exchange information without direct coupling.

Referenced by
[Integration Events](https://banes-lab.com/records/architecture/integration-events.md)

How it is checked

Checked by
[Integration Events](https://banes-lab.com/records/architecture/integration-events.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

### CRUD-Only State Persistence

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Persisting only current state via create-read-update-delete, discarding the history that event sourcing preserves.

Referenced by
[Event Sourcing](https://banes-lab.com/records/architecture/event-sourcing.md)

How it is checked

Checked by
[Event Sourcing](https://banes-lab.com/records/architecture/event-sourcing.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

### Decoupled Domain Reactions

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability for domain logic to react to events without the emitter knowing its consumers.

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

How it is checked

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

### Decoupled Event Distribution

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to distribute events to many consumers without the source depending on any of them.

Referenced by
[Event Bus](https://banes-lab.com/records/architecture/event-bus.md)

How it is checked

Checked by
[Event Bus](https://banes-lab.com/records/architecture/event-bus.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

### Deduplication Key

- Kind: [artifact](https://banes-lab.com/records/kind/artifact.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
A stable identifier attached to a message that lets a consumer detect and drop duplicates.

Referenced by
[Idempotent Consumer](https://banes-lab.com/records/architecture/idempotent-consumer.md)

How it is checked

Checked by
[Idempotent Consumer](https://banes-lab.com/records/architecture/idempotent-consumer.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

### Delivery Ordering

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which messages are delivered in a defined order, which broad fan-out can weaken.

Referenced by
[Publish/Subscribe Pattern](https://banes-lab.com/records/architecture/publish-subscribe-pattern.md)

How it is checked

Checked by
the tension resolution with publish-subscribe-pattern

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

### Direct Event Handler Calls

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Invoking event handlers by direct method call, coupling emitter to handler and defeating the event bus.

Referenced by
[Event Bus](https://banes-lab.com/records/architecture/event-bus.md)

How it is checked

Checked by
[Event Bus](https://banes-lab.com/records/architecture/event-bus.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

### Direct Point-to-Point Calls

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Wiring services together with direct point-to-point calls, coupling each sender to specific receivers.

Referenced by
[Publish/Subscribe Pattern](https://banes-lab.com/records/architecture/publish-subscribe-pattern.md)

How it is checked

Checked by
[Publish/Subscribe Pattern](https://banes-lab.com/records/architecture/publish-subscribe-pattern.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

### Distributed Autonomy

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability for distributed nodes to operate and decide independently without central coordination.

Referenced by
[Eventual Consistency](https://banes-lab.com/records/architecture/eventual-consistency.md)

How it is checked

Checked by
[Eventual Consistency](https://banes-lab.com/records/architecture/eventual-consistency.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

### Duplicate Side Effects

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Reprocessing a message so its side effects run more than once, corrupting state when not idempotent.

Referenced by
[Idempotent Consumer](https://banes-lab.com/records/architecture/idempotent-consumer.md)

How it is checked

Checked by
[Idempotent Consumer](https://banes-lab.com/records/architecture/idempotent-consumer.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

### Duplication with Domain Events

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree of overlap between integration events and domain events that must be kept in sync.

Referenced by
[Integration Events](https://banes-lab.com/records/architecture/integration-events.md)

How it is checked

Checked by
the tension resolution with integration-events

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

### Event Contract

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The agreed schema and semantics of an event that publishers and subscribers both honor.

Referenced by
[Event Bus](https://banes-lab.com/records/architecture/event-bus.md)

How it is checked

Checked by
[Event Bus](https://banes-lab.com/records/architecture/event-bus.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

### Event Granularity

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree of coarseness or fineness at which events are defined, trading detail against volume.

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

How it is checked

Checked by
the tension resolution with domain-events

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

### Event Reliability

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which events are guaranteed to be delivered despite failures.

Referenced by
[Outbox Pattern](https://banes-lab.com/records/architecture/outbox-pattern.md)

How it is checked

Checked by
[Outbox Pattern](https://banes-lab.com/records/architecture/outbox-pattern.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

### Event Schema

- Kind: [artifact](https://banes-lab.com/records/kind/artifact.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
A formal definition of the structure and fields of an event's payload.

Referenced by
[Event Stream](https://banes-lab.com/records/architecture/event-stream.md)

How it is checked

Checked by
[Event Stream](https://banes-lab.com/records/architecture/event-stream.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

### Event Semantics

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The agreed meaning of what an event represents and the conditions under which it is emitted.

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

How it is checked

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

### Event Storm / Traceability

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which a high volume of events makes end-to-end flows hard to trace.

Referenced by
[Event Bus](https://banes-lab.com/records/architecture/event-bus.md)

How it is checked

Checked by
the tension resolution with event-bus

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

### Events

- Kind: [artifact](https://banes-lab.com/records/kind/artifact.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Records of things that have happened in a system, emitted for other components to react to.

Referenced by
[Event-Driven Architecture](https://banes-lab.com/records/architecture/event-driven-architecture.md)

How it is checked

Checked by
[Event-Driven Architecture](https://banes-lab.com/records/architecture/event-driven-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

### Failure Recovery

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to restore correct operation after a failure through compensation or retry.

Referenced by
[Compensating Transaction](https://banes-lab.com/records/architecture/compensating-transaction.md)

How it is checked

Checked by
[Compensating Transaction](https://banes-lab.com/records/architecture/compensating-transaction.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

### Fan-Out Notification

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to deliver one event to many interested subscribers at once.

Referenced by
[Publish/Subscribe Pattern](https://banes-lab.com/records/architecture/publish-subscribe-pattern.md)

How it is checked

Checked by
[Publish/Subscribe Pattern](https://banes-lab.com/records/architecture/publish-subscribe-pattern.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

### Global ACID Transaction

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Attempting a single ACID transaction spanning multiple distributed services, creating tight coupling and availability loss.

Referenced by
[Saga Pattern](https://banes-lab.com/records/architecture/saga-pattern.md)

How it is checked

Checked by
[Saga Pattern](https://banes-lab.com/records/architecture/saga-pattern.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

### Global Consistency

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which all nodes reflect the same state at once, which service autonomy gives up.

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

How it is checked

Checked by
the tension resolution with autonomy

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

### Hidden Temporal Coupling

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
An undocumented ordering requirement between operations that must run in a specific sequence to work correctly.

Referenced by
[Event-Driven Architecture](https://banes-lab.com/records/architecture/event-driven-architecture.md)

How it is checked

Checked by
[Event-Driven Architecture](https://banes-lab.com/records/architecture/event-driven-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

### Immediate Consistency

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which a read reflects the latest write instantly, which asynchronous processing defers.

Referenced by
[Asynchronous Communication](https://banes-lab.com/records/architecture/asynchronous-communication.md)

How it is checked

Checked by
the tension resolution with asynchronous-communication

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

### Immutable Events

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The requirement that recorded events never change once written, only be appended to.

Referenced by
[Append-Only Log](https://banes-lab.com/records/architecture/append-only-log.md)

How it is checked

Checked by
[Append-Only Log](https://banes-lab.com/records/architecture/append-only-log.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

### In-Memory Direct Invocation

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Calling a component directly in-process where a durable queue is needed, losing buffering and delivery guarantees.

Referenced by
[Message Queue](https://banes-lab.com/records/architecture/message-queue.md)

How it is checked

Checked by
[Message Queue](https://banes-lab.com/records/architecture/message-queue.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

### In-Place Mutation

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Overwriting existing records in place where an append-only log is required, destroying history.

Referenced by
[Append-Only Log](https://banes-lab.com/records/architecture/append-only-log.md)

How it is checked

Checked by
[Append-Only Log](https://banes-lab.com/records/architecture/append-only-log.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

### Infinite Redelivery Loop

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Endlessly redelivering a failing message with no dead-letter path, blocking the queue indefinitely.

Referenced by
[Dead-Letter Queue](https://banes-lab.com/records/architecture/dead-letter-queue.md)

How it is checked

Checked by
[Dead-Letter Queue](https://banes-lab.com/records/architecture/dead-letter-queue.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 Events in Domain

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Leaking infrastructure or technical events into the domain model, polluting it with concerns it should not hold.

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

How it is checked

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

### Internal Domain Event Leakage

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Exposing internal domain events to external consumers, coupling them to private model details.

Referenced by
[Integration Events](https://banes-lab.com/records/architecture/integration-events.md)

How it is checked

Checked by
[Integration Events](https://banes-lab.com/records/architecture/integration-events.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

### Irreversible Side Effects

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Performing side effects that cannot be undone within a workflow that may need to roll back.

Referenced by
[Compensating Transaction](https://banes-lab.com/records/architecture/compensating-transaction.md)

How it is checked

Checked by
[Compensating Transaction](https://banes-lab.com/records/architecture/compensating-transaction.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

### Local Transaction

- Kind: [model](https://banes-lab.com/records/kind/model.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
A transaction confined to a single service's own datastore, the atomic unit a saga or outbox composes.

Referenced by
[Outbox Pattern](https://banes-lab.com/records/architecture/outbox-pattern.md)

How it is checked

Checked by
[Outbox Pattern](https://banes-lab.com/records/architecture/outbox-pattern.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

### Long-Running Transactions

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to carry a business transaction across many steps and a long duration via compensation.

Referenced by
[Saga Pattern](https://banes-lab.com/records/architecture/saga-pattern.md)

How it is checked

Checked by
[Saga Pattern](https://banes-lab.com/records/architecture/saga-pattern.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

### Message Queue/Topics

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The durable queues and topics through which a broker routes messages to consumers.

Referenced by
[Message Broker](https://banes-lab.com/records/architecture/message-broker.md)

How it is checked

Checked by
[Message Broker](https://banes-lab.com/records/architecture/message-broker.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

### Message Relay

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
A component that reads pending messages from an outbox and publishes them to the broker.

Referenced by
[Outbox Pattern](https://banes-lab.com/records/architecture/outbox-pattern.md)

How it is checked

Checked by
[Outbox Pattern](https://banes-lab.com/records/architecture/outbox-pattern.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

### Mutable State Only

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Keeping only mutable current state with no event record, so past states and changes cannot be recovered.

Referenced by
[Event Stream](https://banes-lab.com/records/architecture/event-stream.md)

How it is checked

Checked by
[Event Stream](https://banes-lab.com/records/architecture/event-stream.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 Dependency

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which a system's operation depends on a message broker remaining available.

Referenced by
[Message Broker](https://banes-lab.com/records/architecture/message-broker.md)

How it is checked

Checked by
the tension resolution with message-broker

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

### Ordered Log

- Kind: [artifact](https://banes-lab.com/records/kind/artifact.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
An append-only sequence of records that preserves the order in which they were written.

Referenced by
[Event Stream](https://banes-lab.com/records/architecture/event-stream.md)

Distinct from
[Event Schema](https://banes-lab.com/records/lexicon/event-schema.md): An ordered log keeps records in write order, while an event schema defines what each record holds.

How it is checked

Checked by
[Event Stream](https://banes-lab.com/records/architecture/event-stream.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

### Own Data

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The requirement that each service alone own and control its data store.

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

How it is checked

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

### Parallel Message Processing

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability for multiple consumers to process messages from the same source at once.

Referenced by
[Competing Consumers](https://banes-lab.com/records/architecture/competing-consumers.md)

Distinct from
[Consumer Elasticity](https://banes-lab.com/records/lexicon/consumer-elasticity.md): Parallel message processing is several consumers working at once, while consumer elasticity is changing how many there are to match volume.

How it is checked

Checked by
[Competing Consumers](https://banes-lab.com/records/architecture/competing-consumers.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

### Point-to-Point Coupling

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Coupling a sender directly to a specific receiver, so adding a consumer requires changing the sender.

Referenced by
[Message Broker](https://banes-lab.com/records/architecture/message-broker.md)

How it is checked

Checked by
[Message Broker](https://banes-lab.com/records/architecture/message-broker.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

### Poison-Message Quarantine

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to divert a repeatedly-failing message to a separate queue so it stops blocking others.

Referenced by
[Dead-Letter Queue](https://banes-lab.com/records/architecture/dead-letter-queue.md)

Distinct from
[Reprocessing After Fix](https://banes-lab.com/records/lexicon/reprocessing-after-fix.md): Quarantine moves a failing message aside, while reprocessing after the fix sends it through again.

How it is checked

Checked by
[Dead-Letter Queue](https://banes-lab.com/records/architecture/dead-letter-queue.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

### Publisher

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
A component that emits messages to a topic or bus for subscribers to receive.

Referenced by
[Publish/Subscribe Pattern](https://banes-lab.com/records/architecture/publish-subscribe-pattern.md)

Distinct from
[Broker/Event Bus](https://banes-lab.com/records/lexicon/broker-event-bus.md): A publisher emits messages, while the broker routes them between publishers and subscribers.

Distinct from
[Subscriber](https://banes-lab.com/records/lexicon/subscriber.md): A publisher sends to a topic, while a subscriber receives from it.

How it is checked

Checked by
[Publish/Subscribe Pattern](https://banes-lab.com/records/architecture/publish-subscribe-pattern.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

### Query Complexity

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree of difficulty of answering queries when state is stored as an event history rather than current rows.

Referenced by
[Event Sourcing](https://banes-lab.com/records/architecture/event-sourcing.md)

How it is checked

Checked by
the tension resolution with event-sourcing

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

### Read/Write Model Optimization

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to shape read and write models independently for their differing access patterns.

Referenced by
[CQRS](https://banes-lab.com/records/architecture/command-query-responsibility-segregation.md)

How it is checked

Checked by
[CQRS](https://banes-lab.com/records/architecture/command-query-responsibility-segregation.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

### Reconciliation

- Kind: [activity](https://banes-lab.com/records/kind/activity.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The activity of detecting and resolving divergence between replicas so they converge to a consistent state.

Referenced by
[Eventual Consistency](https://banes-lab.com/records/architecture/eventual-consistency.md)

How it is checked

Checked by
[Eventual Consistency](https://banes-lab.com/records/architecture/eventual-consistency.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

### Relay Complexity

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree of added complexity of running a relay process that forwards messages from an outbox.

Referenced by
[Outbox Pattern](https://banes-lab.com/records/architecture/outbox-pattern.md)

How it is checked

Checked by
the tension resolution with outbox-pattern

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

### Reprocessing After Fix

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to reprocess quarantined messages once the underlying defect is fixed.

Referenced by
[Dead-Letter Queue](https://banes-lab.com/records/architecture/dead-letter-queue.md)

How it is checked

Checked by
[Dead-Letter Queue](https://banes-lab.com/records/architecture/dead-letter-queue.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

### Retry

- Kind: [technique](https://banes-lab.com/records/kind/technique.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Re-attempting a failed operation, typically after a delay, to overcome a transient fault.

Referenced by
[Eventual Consistency](https://banes-lab.com/records/architecture/eventual-consistency.md)

How it is checked

Checked by
[Eventual Consistency](https://banes-lab.com/records/architecture/eventual-consistency.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

### Reversible/Compensable Step

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The requirement that each step in a distributed workflow can be undone by a compensating action.

Referenced by
[Compensating Transaction](https://banes-lab.com/records/architecture/compensating-transaction.md)

How it is checked

Checked by
[Compensating Transaction](https://banes-lab.com/records/architecture/compensating-transaction.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

### Routing

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to direct each message to its correct destination based on topic, key, or rule.

Referenced by
[Message Broker](https://banes-lab.com/records/architecture/message-broker.md)

How it is checked

Checked by
[Message Broker](https://banes-lab.com/records/architecture/message-broker.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

### Safe Message Redelivery

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to redeliver a message without causing duplicate effects, given idempotent handling.

Referenced by
[Idempotent Consumer](https://banes-lab.com/records/architecture/idempotent-consumer.md)

How it is checked

Checked by
[Idempotent Consumer](https://banes-lab.com/records/architecture/idempotent-consumer.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 Database

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Multiple services reading and writing one shared database, coupling them and destroying service autonomy.

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

Distinct from
[Cyclic Deployment Dependency](https://banes-lab.com/records/architecture/cyclic-deployment-dependency.md): A shared database couples services through their data, while a cyclic deployment dependency couples them through their release order.

How it is checked

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

### Single Serial Consumer

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Processing a queue with one consumer in series, so throughput cannot scale with load.

Referenced by
[Competing Consumers](https://banes-lab.com/records/architecture/competing-consumers.md)

How it is checked

Checked by
[Competing Consumers](https://banes-lab.com/records/architecture/competing-consumers.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

### State Overhead

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree of extra state a consumer must retain to deduplicate or order messages.

Referenced by
[Idempotent Consumer](https://banes-lab.com/records/architecture/idempotent-consumer.md)

How it is checked

Checked by
the tension resolution with idempotent-consumer

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

### Storage Growth

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which an append-only log's storage footprint grows unbounded over time.

Referenced by
[Append-Only Log](https://banes-lab.com/records/architecture/append-only-log.md)

How it is checked

Checked by
the tension resolution with append-only-log

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

### Storage Volume

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which retaining a full event stream consumes large amounts of storage.

Referenced by
[Event Stream](https://banes-lab.com/records/architecture/event-stream.md)

How it is checked

Checked by
the tension resolution with event-stream

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

### Strong Consistency

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which all reads see the latest write, which event-driven asynchrony relaxes.

Referenced by
[Event-Driven Architecture](https://banes-lab.com/records/architecture/event-driven-architecture.md)

How it is checked

Checked by
the tension resolution with event-driven-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

### Strong Immediate Consistency

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree to which every read reflects the most recent write without delay, which eventual consistency relaxes.

Referenced by
[Eventual Consistency](https://banes-lab.com/records/architecture/eventual-consistency.md)

How it is checked

Checked by
the tension resolution with eventual-consistency

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

### Subscriber

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
A component that registers interest in a topic and receives its messages.

Referenced by
[Publish/Subscribe Pattern](https://banes-lab.com/records/architecture/publish-subscribe-pattern.md)

Distinct from
[Broker/Event Bus](https://banes-lab.com/records/lexicon/broker-event-bus.md): A subscriber receives a topic's messages, while the broker routes them to it.

How it is checked

Checked by
[Publish/Subscribe Pattern](https://banes-lab.com/records/architecture/publish-subscribe-pattern.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

### Subscriber Model

- Kind: [model](https://banes-lab.com/records/kind/model.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
A representation of which consumers subscribe to which topics and how they receive messages.

Referenced by
[Event Bus](https://banes-lab.com/records/architecture/event-bus.md)

How it is checked

Checked by
[Event Bus](https://banes-lab.com/records/architecture/event-bus.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

### Temporal Modeling

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to model how state evolved over time by preserving each change as an event.

Referenced by
[Event Sourcing](https://banes-lab.com/records/architecture/event-sourcing.md)

How it is checked

Checked by
[Event Sourcing](https://banes-lab.com/records/architecture/event-sourcing.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

### Temporal Queries

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to ask what a system's state was at any past point in time.

Referenced by
[Append-Only Log](https://banes-lab.com/records/architecture/append-only-log.md)

How it is checked

Checked by
[Append-Only Log](https://banes-lab.com/records/architecture/append-only-log.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 CRUD Model

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
Using one shared model for both reads and writes, preventing each from being optimized for its purpose.

Referenced by
[CQRS](https://banes-lab.com/records/architecture/command-query-responsibility-segregation.md)

How it is checked

Checked by
[CQRS](https://banes-lab.com/records/architecture/command-query-responsibility-segregation.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

### User Expectations

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The behavior users assume a system will exhibit, such as seeing their own writes immediately.

Referenced by
[Eventual Consistency](https://banes-lab.com/records/architecture/eventual-consistency.md)

How it is checked

Checked by
the tension resolution with eventual-consistency

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

### Work Distribution

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The ability to spread units of work across many workers via a broker.

Referenced by
[Message Broker](https://banes-lab.com/records/architecture/message-broker.md)

How it is checked

Checked by
[Message Broker](https://banes-lab.com/records/architecture/message-broker.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

### Workflow Complexity

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)

Details

Definition
The degree of intricacy of coordinating a multi-step distributed workflow.

Referenced by
[Saga Pattern](https://banes-lab.com/records/architecture/saga-pattern.md)

How it is checked

Checked by
the tension resolution with saga-pattern

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

- [capability](https://banes-lab.com/records/kind/capability.md)
- [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
- [Message Queue](https://banes-lab.com/records/architecture/message-queue.md)
- [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- [Idempotent Consumer](https://banes-lab.com/records/architecture/idempotent-consumer.md)
- [Outbox Pattern](https://banes-lab.com/records/architecture/outbox-pattern.md)
- [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- [Publish/Subscribe Pattern](https://banes-lab.com/records/architecture/publish-subscribe-pattern.md)
- [Compensating Transaction](https://banes-lab.com/records/architecture/compensating-transaction.md)
- [principle](https://banes-lab.com/records/kind/principle.md)
- [CQRS](https://banes-lab.com/records/architecture/command-query-responsibility-segregation.md)
- [technique](https://banes-lab.com/records/kind/technique.md)
- [Saga Pattern](https://banes-lab.com/records/architecture/saga-pattern.md)
- [Competing Consumers](https://banes-lab.com/records/architecture/competing-consumers.md)
- [Integration Events](https://banes-lab.com/records/architecture/integration-events.md)
- [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- [Event Sourcing](https://banes-lab.com/records/architecture/event-sourcing.md)
- [Domain Events](https://banes-lab.com/records/architecture/domain-events.md)
- [Event Bus](https://banes-lab.com/records/architecture/event-bus.md)
- [artifact](https://banes-lab.com/records/kind/artifact.md)
- [Eventual Consistency](https://banes-lab.com/records/architecture/eventual-consistency.md)
- [constraint](https://banes-lab.com/records/kind/constraint.md)
- [Event Stream](https://banes-lab.com/records/architecture/event-stream.md)
- [Event-Driven Architecture](https://banes-lab.com/records/architecture/event-driven-architecture.md)
- [Autonomy](https://banes-lab.com/records/architecture/autonomy.md)
- [Asynchronous Communication](https://banes-lab.com/records/architecture/asynchronous-communication.md)
- [Append-Only Log](https://banes-lab.com/records/architecture/append-only-log.md)
- [Dead-Letter Queue](https://banes-lab.com/records/architecture/dead-letter-queue.md)
- [model](https://banes-lab.com/records/kind/model.md)
- [Message Broker](https://banes-lab.com/records/architecture/message-broker.md)
- [Event Schema](https://banes-lab.com/records/lexicon/event-schema.md)
- [Consumer Elasticity](https://banes-lab.com/records/lexicon/consumer-elasticity.md)
- [Reprocessing After Fix](https://banes-lab.com/records/lexicon/reprocessing-after-fix.md)
- [Broker/Event Bus](https://banes-lab.com/records/lexicon/broker-event-bus.md)
- [Subscriber](https://banes-lab.com/records/lexicon/subscriber.md)
- [activity](https://banes-lab.com/records/kind/activity.md)
- [Cyclic Deployment Dependency](https://banes-lab.com/records/architecture/cyclic-deployment-dependency.md)

## Linked from

- [The layer topology](https://banes-lab.com/ontology/schema/the-layer-topology.md)
- [The membership](https://banes-lab.com/ontology/schema/the-membership.md)
