# Causal Consistency

Record: `arch:causal-consistency`
Kind: model
Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)
Severity: contextual
Scope: distributed data, events
Canonical: https://banes-lab.com/ontology#arch-causal-consistency

## Repair

- Refactored by: Add Causal Metadata, Enforce Read-Your-Writes
- Detected by: order anomaly tests
- Violated by: observing effect before cause
- Measured by: causal anomaly rate
- Enforced by: consistency tests

## requires

- [Causal Ordering](https://banes-lab.com/records/lex/causal-ordering.md)

## reinforces

- [Eventual Consistency Safety](https://banes-lab.com/records/lex/eventual-consistency-safety.md)

## enables

- [User-Visible Ordering Guarantees](https://banes-lab.com/records/lex/user-visible-ordering-guarantees.md)

## conflicts-with

- [Arbitrary Reordering](https://banes-lab.com/records/lex/arbitrary-reordering.md)
- [Read-Your-Writes Violation](https://banes-lab.com/records/arch/read-your-writes-violation.md)

## tensions-with

- [Latency/Availability](https://banes-lab.com/records/lex/latency-availability.md)

## tensions

- [Causal Consistency Latency/Availability](https://banes-lab.com/records/tension/causal-consistency-latency-availability.md)

## referenced-by

- [Vector Clocks](https://banes-lab.com/records/arch/vector-clocks.md)
- [Hybrid Logical Clocks](https://banes-lab.com/records/arch/hybrid-logical-clocks.md)
- [CRDTs](https://banes-lab.com/records/arch/crdts.md)
- [CAP Theorem](https://banes-lab.com/records/arch/cap-theorem.md)
