Skip to main content

Module causal_graph

Module causal_graph 

Source
Expand description

v0.44: Pearl level 2 — causal graph + do-calculus over the frontier’s claim-to-claim link graph.

v0.40 (level 1) answered “given a finding’s (causal_claim, causal_evidence_grade), is the claim identifiable from that design alone?” by lookup over a 3×4 matrix. v0.44 (level 2) answers a different question: “given the frontier’s directed link graph, is the effect of changing our belief in finding X on our belief in finding Y identifiable from observational evidence (the rest of the graph) alone, or does it require an intervention?”

This is the back-door criterion lifted to the claim level. The lift is novel — Pearl’s original framework operates over variables; Vela operates over content-addressed claims that have parents (findings they depend on) and children (findings that depend on them). The same d-separation algebra applies.

Doctrine for this module:

  • Graph nodes are findings; edges come from the typed link graph (depends, supports, mediates, causes).
  • depends/supports: directed edge from the source finding to the target it relies on. This is the convention we follow for back-door analysis: a finding’s parents are the findings it depends on (its evidence base), its children are the findings that build on it.
  • contradicts is undirected and excluded from the causal DAG.
  • The substrate does not infer causal direction from prose; it only encodes what the link graph already declares.

Structs§

CausalGraph
v0.44: a directed acyclic graph over findings, derived from the link graph. Edges point from a finding to its declared parent (the finding it depends on / supports / cites as evidence).

Enums§

CausalEffectVerdict
v0.44: verdict on whether the causal effect of source on target is identifiable from observational data over the frontier’s link graph. The lift of v0.40’s Identifiability to graph-aware reasoning.

Functions§

identify_effect
v0.44: Find an adjustment set that satisfies the back-door criterion for the effect of source on target, or report that no such set exists in the observed graph.
identify_effect_in_graph
Same as identify_effect but takes an already-built graph for callers that want to reuse the construction across many queries.