Version history
1 version on record. Newest first; the live version sits at the top with a live indicator.
- Live5/16/2026, 1:13:08 PM
fa3f61aedf21Content snapshot
{ "version": "0.1.0", "summary": "Causal effect estimation via DoWhy/PyWhy subprocess. Runs a bundled Python script that builds a DoWhy CausalModel from the input graph, identifies the causal effect, and returns the effect estimate with confidence intervals. Per SPEC-106 §3.3 and SPEC-002 §4.\n", "runtime": "causal_dowhy", "runtime_config": { "timeout_seconds": 300 }, "input_schema": { "type": "object", "required": [ "graph", "treatment", "outcome" ], "properties": { "graph": { "type": "object", "required": [ "nodes", "edges" ], "properties": { "edges": { "type": "array", "items": { "type": "object", "required": [ "source", "target" ], "properties": { "sign": { "enum": [ "+", "-", "?" ], "type": "string", "default": "+", "description": "Causal sign" }, "source": { "type": "string", "description": "Source node id" }, "target": { "type": "string", "description": "Target node id" }, "strength_prior": { "type": "number", "maximum": 1, "minimum": 0, "description": "Prior causal strength 0-1" }, "intervention_tier": { "enum": [ "T_obs", "T_assoc", "T_perturb", "T_RCT" ], "type": "string", "description": "Evidence tier per SPEC-106 §2" } } } }, "nodes": { "type": "array", "items": { "type": "object", "required": [ "id", "type" ], "properties": { "id": { "type": "string", "description": "Node identifier, e.g. gene:FOXP2" }, "type": { "type": "string", "description": "Node type: gene|protein|pathway|phenotype|compound" } } } } } }, "outcome": { "type": "string", "description": "Outcome node id, e.g. phenotype:Alzheimer" }, "treatment": { "type": "string", "description": "Treatment node id, e.g. gene:FOXP2" }, "estimate_method": { "type": "string", "default": "eager", "description": "DoWhy estimator method name" } } }, "output_schema": { "type": "object", "properties": { "method": { "type": "string", "description": "DoWhy method used" }, "p_value": { "type": "number", "description": "p-value for the estimate" }, "effect_lower": { "type": "number", "description": "Lower confidence bound" }, "effect_upper": { "type": "number", "description": "Upper confidence bound" }, "refute_results": { "type": "array", "description": "Refutation test results" }, "effect_estimate": { "type": "number", "description": "Estimated causal effect size" }, "causal_graph_adjacency": { "type": "string", "description": "DOT graph representation" } } }, "resource_caps": { "network": "allow", "max_duration_secs": 300 }, "cost_model": { "notes": "Subprocess-based DoWhy execution; cost is approximation.", "fixed_usd": 0.05 }, "examples": [ { "input": { "graph": { "edges": [ { "sign": "+", "source": "gene:FOXP2", "target": "phenotype:Alzheimer" } ], "nodes": [ { "id": "gene:FOXP2", "type": "gene" }, { "id": "phenotype:Alzheimer", "type": "phenotype" } ] }, "outcome": "phenotype:Alzheimer", "treatment": "gene:FOXP2" }, "description": "Estimate causal effect of FOXP2 expression on Alzheimer progression." } ], "lifecycle_state": "active" }