# Causality / Ordering / Distributed Time

> 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#lex-category-causality-ordering-distributed-time

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.

### Arbitrary Reordering

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
Reordering causally related operations freely, so effects can appear before their causes.

Referenced by
[Causal Consistency](https://banes-lab.com/records/arch/causal-consistency.md)

### Assumed Total Consistency And Availability

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
Assuming a distributed system can be fully consistent and available at once, ignoring partitions that force a choice.

Referenced by
[CAP Theorem](https://banes-lab.com/records/arch/cap-theorem.md)

### Bidirectional Collaboration

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The degree to which forbidding cycles prevents two components from depending on each other bidirectionally.

Referenced by
[Directed Acyclic Graph (DAG)](https://banes-lab.com/records/arch/directed-acyclic-graph.md)

### Build Order

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The ability to derive a correct build or execution order from a graph that contains no cycles.

Referenced by
[Directed Acyclic Graph (DAG)](https://banes-lab.com/records/arch/directed-acyclic-graph.md)

### Causal Ordering

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The requirement that operations be applied in an order consistent with their cause-and-effect relationships.

Referenced by
[Causal Consistency](https://banes-lab.com/records/arch/causal-consistency.md)

### Causal Reasoning

- Kind: [activity](https://banes-lab.com/records/kind/activity.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
Reasoning about which events must precede others based on their causal relationships.

Referenced by
[Happens-Before Relationship](https://banes-lab.com/records/arch/happens-before-relationship.md)

### Causation Tracking

- Kind: [activity](https://banes-lab.com/records/kind/activity.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
Recording which event caused which, so cause-and-effect chains can be reconstructed later.

Referenced by
[Causality](https://banes-lab.com/records/arch/causality.md)

### Clock Skew

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The degree to which physical clocks on different nodes drift apart, distorting time-based ordering.

Referenced by
[Hybrid Logical Clocks](https://banes-lab.com/records/arch/hybrid-logical-clocks.md)

### Commutative Merge

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The requirement that concurrent updates merge in any order to the same result.

Referenced by
[CRDTs](https://banes-lab.com/records/arch/crdts.md)

### Concurrent Update Detection

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The ability to detect when two updates happened concurrently rather than one causally after the other.

Referenced by
[Vector Clocks](https://banes-lab.com/records/arch/vector-clocks.md)

### Conflict-Free Replica Convergence

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The ability for replicas to converge to one state automatically without conflict resolution.

Referenced by
[CRDTs](https://banes-lab.com/records/arch/crdts.md)

### Consistency Assumed Free When Healthy

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
Assuming consistency carries no cost while the network is healthy, ignoring the latency it still imposes.

Referenced by
[PACELC Theorem](https://banes-lab.com/records/arch/pacelc-theorem.md)

### Correct Stateful Processing

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The ability to process a stream statefully with correct results by handling events in their proper order.

Referenced by
[Event Ordering](https://banes-lab.com/records/arch/event-ordering.md)

### Correct Workflow Reasoning

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The ability to reason correctly about a workflow's steps by knowing their causal relationships.

Referenced by
[Causality](https://banes-lab.com/records/arch/causality.md)

### Cycle Detection

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The ability to detect cycles in a dependency graph before they cause deadlock or infinite resolution.

Referenced by
[Dependency Graph](https://banes-lab.com/records/arch/dependency-graph.md)

### Dependency Declaration

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The requirement that each operation declare the operations it causally depends on.

Referenced by
[Causal Dependency](https://banes-lab.com/records/arch/causal-dependency.md)

### Dependency Extraction

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The requirement that dependencies between units be discovered and represented explicitly as a graph.

Referenced by
[Dependency Graph](https://banes-lab.com/records/arch/dependency-graph.md)

### Directed Dependencies

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The requirement that dependencies point in one direction only, forming no cycles.

Referenced by
[Directed Acyclic Graph (DAG)](https://banes-lab.com/records/arch/directed-acyclic-graph.md)

### Dynamic Loading

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The degree to which resolving dependencies dynamically at runtime undermines a statically analyzable dependency graph.

Referenced by
[Dependency Graph](https://banes-lab.com/records/arch/dependency-graph.md)

### Eventual Consistency Safety

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The degree to which replicas can converge over time without ever exposing a causally impossible state.

Referenced by
[Causal Consistency](https://banes-lab.com/records/arch/causal-consistency.md)

### Explicit Consistency/Availability Choice Under Partition

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The ability to choose deliberately between consistency and availability when a network partition occurs.

Referenced by
[CAP Theorem](https://banes-lab.com/records/arch/cap-theorem.md)

### Graph Complexity

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The degree to which tracking fine-grained causal dependencies grows the dependency graph large and hard to reason about.

Referenced by
[Causal Dependency](https://banes-lab.com/records/arch/causal-dependency.md)

### Happens-Before Reasoning

- Kind: [activity](https://banes-lab.com/records/kind/activity.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
Reasoning about event order using logical timestamps that respect the happens-before relation.

Referenced by
[Lamport Clocks](https://banes-lab.com/records/arch/lamport-clocks.md)

### Hidden Dependency

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
An unstated dependency between operations, so order-sensitive code breaks when the hidden ordering is not preserved.

Referenced by
[Causal Dependency](https://banes-lab.com/records/arch/causal-dependency.md)

### Identical Delivery Order Across Nodes

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The ability to deliver messages to every node in the same total order.

Referenced by
[Total-Order Broadcast](https://banes-lab.com/records/arch/total-order-broadcast.md)

### Last-Write-Wins Overwrite

- Kind: [model](https://banes-lab.com/records/kind/model.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
Resolving concurrent updates by keeping the most recent write, rather than merging all updates.

Referenced by
[CRDTs](https://banes-lab.com/records/arch/crdts.md)

### Latency-Consistency Trade-off When Healthy

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The ability to weigh the latency-versus-consistency trade-off that remains even when the network is healthy.

Referenced by
[PACELC Theorem](https://banes-lab.com/records/arch/pacelc-theorem.md)

### Latency/Availability

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The degree to which enforcing causal ordering across replicas costs added latency and reduced availability.

Referenced by
[Causal Consistency](https://banes-lab.com/records/arch/causal-consistency.md)

### Layering

- Kind: [style](https://banes-lab.com/records/kind/style.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
A convention of organizing components into ordered layers where each may depend only on the layers beneath it.

Referenced by
[Directed Acyclic Graph (DAG)](https://banes-lab.com/records/arch/directed-acyclic-graph.md)

### Logical Counter

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
A monotonically increasing counter each process maintains to stamp events for logical ordering.

Referenced by
[Lamport Clocks](https://banes-lab.com/records/arch/lamport-clocks.md)

### Metadata Overhead

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The degree to which the bookkeeping a conflict-free type carries per value adds storage and transmission cost.

Referenced by
[CRDTs](https://banes-lab.com/records/arch/crdts.md)

### Metadata Size

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The degree to which carrying a per-node counter for every node grows the ordering metadata with cluster size.

Referenced by
[Vector Clocks](https://banes-lab.com/records/arch/vector-clocks.md)

### Network Partition Possibility

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The requirement that a distributed design account for the possibility of network partitions.

Referenced by
[CAP Theorem](https://banes-lab.com/records/arch/cap-theorem.md)

### No Concurrent Causality Distinction

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The degree to which a single logical counter cannot tell concurrent events apart from causally ordered ones.

Referenced by
[Lamport Clocks](https://banes-lab.com/records/arch/lamport-clocks.md)

### Node Identity

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The requirement that each participating node have a distinct identity to index its own counter.

Referenced by
[Vector Clocks](https://banes-lab.com/records/arch/vector-clocks.md)

### Ordering Key or Sequence

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The requirement that each event carry a key or sequence number that fixes its position in order.

Referenced by
[Event Ordering](https://banes-lab.com/records/arch/event-ordering.md)

### Ordering Semantics

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The requirement that a defined semantics specify when one event is considered to happen before another.

Referenced by
[Happens-Before Relationship](https://banes-lab.com/records/arch/happens-before-relationship.md)

### Parallel Execution

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The degree to which enforcing a happens-before order constrains how much work can run in parallel.

Referenced by
[Happens-Before Relationship](https://banes-lab.com/records/arch/happens-before-relationship.md)

### Partial Ordering

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The ability to establish a consistent partial order over events without a shared physical clock.

Referenced by
[Lamport Clocks](https://banes-lab.com/records/arch/lamport-clocks.md)

### Per-Node Independent Ordering

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
Letting each node decide message order independently, so replicas diverge on sequence.

Referenced by
[Total-Order Broadcast](https://banes-lab.com/records/arch/total-order-broadcast.md)

### Physical-Clock-Only Ordering

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
Ordering events by physical clocks alone, which clock skew renders inconsistent across nodes.

Referenced by
[Hybrid Logical Clocks](https://banes-lab.com/records/arch/hybrid-logical-clocks.md)

### Race Detection

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The ability to detect data races by finding accesses with no happens-before ordering between them.

Referenced by
[Happens-Before Relationship](https://banes-lab.com/records/arch/happens-before-relationship.md)

### Single Global Clock Assumption

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
Assuming a single global clock orders all events, which fails across distributed nodes with independent clocks.

Referenced by
[Vector Clocks](https://banes-lab.com/records/arch/vector-clocks.md)

### Topological Ordering

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The ability to linearize a directed acyclic graph into an order where every node follows its dependencies.

Referenced by
[Directed Acyclic Graph (DAG)](https://banes-lab.com/records/arch/directed-acyclic-graph.md)

### Unordered Parallel Consumption

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
Consuming an ordered event stream in parallel without preserving order, so state is updated out of sequence.

Referenced by
[Event Ordering](https://banes-lab.com/records/arch/event-ordering.md)

### Unordered Side Effects

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
Applying side effects in an order that ignores their causal dependencies, producing incorrect outcomes.

Referenced by
[Causality](https://banes-lab.com/records/arch/causality.md)

### User-Visible Ordering Guarantees

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The ability to guarantee that users never observe an effect before its cause.

Referenced by
[Causal Consistency](https://banes-lab.com/records/arch/causal-consistency.md)

### Version Vector

- Kind: [artifact](https://banes-lab.com/records/kind/artifact.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
A set of per-node counters that together capture the causal history of a replicated item.

Referenced by
[Vector Clocks](https://banes-lab.com/records/arch/vector-clocks.md)

### Wall-Clock Ordering Assumption

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
Ordering distributed events by wall-clock timestamps, which clock skew makes unreliable.

Referenced by
[Lamport Clocks](https://banes-lab.com/records/arch/lamport-clocks.md)

### Wall-Clock-Correlated Causal Order

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/lexicon/lex-category-causality-ordering-distributed-time.md)
- Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)

Details

Definition
The ability to order events causally while keeping timestamps close to wall-clock time.

Referenced by
[Hybrid Logical Clocks](https://banes-lab.com/records/arch/hybrid-logical-clocks.md)

## Links to

- [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- [Causality Core](https://banes-lab.com/records/layer/causality-core.md)
- [Causal Consistency](https://banes-lab.com/records/arch/causal-consistency.md)
- [CAP Theorem](https://banes-lab.com/records/arch/cap-theorem.md)
- [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- [Directed Acyclic Graph (DAG)](https://banes-lab.com/records/arch/directed-acyclic-graph.md)
- [capability](https://banes-lab.com/records/kind/capability.md)
- [constraint](https://banes-lab.com/records/kind/constraint.md)
- [activity](https://banes-lab.com/records/kind/activity.md)
- [Happens-Before Relationship](https://banes-lab.com/records/arch/happens-before-relationship.md)
- [Causality](https://banes-lab.com/records/arch/causality.md)
- [Hybrid Logical Clocks](https://banes-lab.com/records/arch/hybrid-logical-clocks.md)
- [CRDTs](https://banes-lab.com/records/arch/crdts.md)
- [Vector Clocks](https://banes-lab.com/records/arch/vector-clocks.md)
- [PACELC Theorem](https://banes-lab.com/records/arch/pacelc-theorem.md)
- [Event Ordering](https://banes-lab.com/records/arch/event-ordering.md)
- [Dependency Graph](https://banes-lab.com/records/arch/dependency-graph.md)
- [Causal Dependency](https://banes-lab.com/records/arch/causal-dependency.md)
- [Lamport Clocks](https://banes-lab.com/records/arch/lamport-clocks.md)
- [Total-Order Broadcast](https://banes-lab.com/records/arch/total-order-broadcast.md)
- [model](https://banes-lab.com/records/kind/model.md)
- [style](https://banes-lab.com/records/kind/style.md)
- [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- [artifact](https://banes-lab.com/records/kind/artifact.md)
