An intervention in causal inference is fundamentally different from an observation. When you observe that two variables are correlated, you are on Rung 1 of Pearl’s causal ladder. When you ask what would happen if you actively set a variable to a specific value — regardless of its natural causes — you are on Rung 2, and you need do-calculus to answer the question correctly. Wu-Weism operationalizes Rung 2 through an intervention pipeline that checks identifiability before computing effects, so you always know whether your result is causally valid or association-level.Documentation Index
Fetch the complete documentation index at: https://wuweism.com/llms.txt
Use this file to discover all available pages before exploring further.
Observations vs. interventions
| Observation (Rung 1) | Intervention (Rung 2) | |
|---|---|---|
| Question form | ”Is X associated with Y?" | "What happens to Y if we set X to value v?” |
| Notation | P(Y | X = x) | P(Y | do(X = x)) |
| Confounders | Can distort the estimate | Must be accounted for via adjustment set |
| Identifiability check | Not required | Required before computing effect |
| Claim rung | Rung 1 | Rung 2 |
do() operator severs the incoming arrows to X in the causal graph, asking: if we forcibly set X (ignoring whatever normally determines it), what does Y become?
Phrasing intervention questions
Wu-Weism detects intervention intent from specific language patterns. Any of the following will trigger Rung 2 processing:do(, intervention, intervene, if we set, treatment, confounder, mediator, identifiability
Using operator mode
In addition to natural language triggers, you can force Rung 2 mode from Model Settings in the workbench sidebar:Find the operator mode selector
Under Inference Mode, locate the Operator dropdown. The default is Auto (Wu-Weism selects the rung based on your question).
do() notation each time.
The identifiability gate
Before Wu-Weism computes any intervention effect, it runs an identifiability check. Identifiability means: given the causal graph (SCM) and the available data, can the interventional distributionP(Y | do(X)) be computed from observational data alone?
If the required confounders are not represented in the loaded SCM, the effect is not identifiable and the computation cannot be trusted.
When identifiability passes
The system proceeds to compute the intervention effect using the adjustment set — the minimal set of variables you need to condition on to block all backdoor paths from X to Y.Identifiability: PASSED
When identifiability fails
If the identifiability gate blocks the computation, Wu-Weism does not silently return a biased estimate. Instead, it:- Downgrades the response to association-level (Rung 1)
- Explains which confounders are missing from the SCM
- Labels the claim with
association-onlyso it is not mistaken for a causal result
Identifiability: BLOCKED
Worked example: drug intervention on inflammation
Research scenario: You are studying whether administering an anti-inflammatory drug reduces interleukin-6 (IL-6) levels in patients with chronic inflammatory disease. You want a causal estimate, not just a correlation. Step 1 — Ask the intervention questionEvent sequence
Example response shape
Intervention payload structure
Internally, Wu-Weism represents every intervention as a structured payload. Understanding this helps you interpret what the system is computing:| Field | Description |
|---|---|
node_id | The variable being intervened on (e.g., anti_inflammatory_drug) |
value | The value it is set to (e.g., 1 for active, 0 for inactive, or a numeric level) |
outcome_var | The downstream variable you are measuring (e.g., IL6_level) |
adjustment_set | The confounders conditioned on to block backdoor paths |
known_confounders | All confounders present in the loaded SCM for this domain |
Viewing the causal trace
Every successful intervention produces a causal trace — a record of which graph edges were activated, which adjustment variables were used, and how the effect propagated through the SCM. You can view the causal trace in two places:- In the Claim Ledger at
/claims: locate the claim by ID (e.g.,claim_019), then expand the Provenance section. The trace ID (e.g.,trace_007) links to the full edge-by-edge record. - Via the API: use the
trace_idfrom the claim to query/api/scm/counterfactual-traces/{traceId}and retrieve the full trace record as JSON for downstream analysis or audit.
Common mistakes to avoid
Asking “what if we observed X at level v?” instead of “what if we set X to v?” These are different questions. The first is observational (Rung 1). The second is interventional (Rung 2). When in doubt, use explicitdo() notation.
Ignoring the identifiability gate result
If identifiability fails and the response is labeled association-only, do not treat the estimate as causal. The downgrade is a signal that the SCM is missing information needed for a valid Rung 2 answer.
Assuming a large effect size means identifiability passed
Effect size and identifiability are independent. A large association can exist even when the causal effect is not identifiable from available data.
Next steps
- Ask counterfactual questions after an intervention: Concepts — Counterfactuals
- Attach supporting literature to your intervention questions: Analyzing research papers with PDF upload
- Review governed intervention claims: Claim Ledger
