Concept
Causal memory
When something breaks, the question is never just "what is the state now?" — it is "what caused this?". RAHN's causal memory is a graph of explicit causal edges between observations and commits, each carrying an honest epistemic status. The rule that defines the feature: causality is asserted, never inferred.
The model
Two kinds of anchors exist: observation anchors (from the deterministic observation model, ADR 0013) and commit anchors (from state history). Causal edges connect them, and every edge carries one of three statuses (ADR 0014):
temporal-correlation— it happened near the event; nothing more is claimedhypothesis— someone believes there is a causal linkverified— demonstrably true; between commits only, because commits can be re-verified while observations cannot
The graph is enforced as a DAG (cycles rejected), anchors are validated (no dangling references), and the log is append-only. The CLI exposes rahn relate and rahn explain for writing and tracing causal chains.
Why not infer automatically?
Because inference produces confident-sounding claims with hidden assumptions — the opposite of RAHN's epistemology. The system records relationships and their epistemic status; it performs no automatic causal inference and contains no AI in the core. The verified status's restriction to commit-to-commit edges is itself an honesty mechanism: machine-verifiable facts get the strongest label, human assertions get honest weaker ones.
What it enables
Incident query: given an incident, walk the causal graph to the commits and observations involved. Provenance: every causal claim traces to who asserted it and at what strength. Replay support: causal chains feed the incident reconstruction direction (research question RQ6, future work).
Recorded measurement and limits
Benchmarking during Stage 5 found an O(V·E) incident query; a reverse-adjacency prototype reduced a 10k-edge-chain query from ~2.7 s to ~5.7 ms — scoped prototype measurements, not production guarantees. Causality remains asserted-only, there is no distributed causal memory yet, and explainability is bounded by what was recorded (gaps in observation are gaps in the chain). All of it is stated in the limitations baseline.
Where to go next
- Network state — what commits anchor to
- Research — RQ5 (attribution fidelity) and RQ6 (reconstruction)
- Causality specification — the normative model