Causal Reasoning
advancedMeasure causal strength, infer direction, perform do-calculus interventions, and counterfactual analysis.
Causal strength
/v1/memory/causal/strengthMeasure causal strength between two patterns in both directions.
pattern_aarray[number] | nullFirst pattern embedding.
pattern_barray[number] | nullSecond pattern embedding.
text_astring | nullFirst pattern as text (auto-embedded).
text_bstring | nullSecond pattern as text (auto-embedded).
{
"strength_a_to_b": 0.78,
"strength_b_to_a": 0.12,
"direction": "a_to_b",
"observations_a_to_b": 15,
"observations_b_to_a": 3,
"confounded": false
}Provide either embeddings (pattern_a/pattern_b) or text (text_a/text_b). Text is auto-embedded server-side.
Causal direction
/v1/memory/causal/directionInfer causal direction between two patterns with confounding detection.
pattern_aarray[number] | nullFirst pattern embedding.
pattern_barray[number] | nullSecond pattern embedding.
text_astring | nullFirst pattern as text (auto-embedded).
text_bstring | nullSecond pattern as text (auto-embedded).
{
"direction": "a_causes_b",
"confidence": 0.87,
"confounded": false,
"details": {
"displacement_consistency": 0.92
}
}Intervene (do-calculus)
/v1/memory/causal/intervenedo-calculus: predict effects of intervening on a pattern (Pearl Level 2).
cause_keyarray[number] | nullCause pattern embedding.
cause_valuearray[number] | nullIntervention value for the cause.
textstring | nullCause pattern as text (auto-embedded, used as both key and value).
{
"predicted_effects": [
{
"effect_key": [
0.23,
-0.45,
"..."
],
"predicted_value": [
0.67,
0.12,
"..."
],
"causal_strength": 0.78
}
]
}Counterfactual
/v1/memory/causal/counterfactualPearl Level 3: "If cause had been different, what would effect have been?"
cause_keyarray[number] | nullCause pattern embedding.
effect_keyarray[number] | nullEffect pattern embedding.
counterfactual_cause_valuearray[number] | nullAlternative cause value.
text_causestring | nullCause pattern as text.
text_effectstring | nullEffect pattern as text.
text_counterfactualstring | nullCounterfactual cause as text.
{
"counterfactual_effect": [
0.34,
-0.12,
0.78,
"..."
],
"computable": true
}If the causal relationship is too weak or unknown, computable returns false and counterfactual_effect is null.
Causal neighbors
/v1/memory/causal/neighborsGet causal parents and/or children of a pattern.
pattern_keyarray[number] | nullPattern embedding.
textstring | nullPattern as text (auto-embedded).
directionstringDefault: bothFilter: parents, children, or both.
min_strengthnumberDefault: 0.3Minimum causal strength to include (0.0–1.0).
{
"parents": [
{
"key": [
0.12,
-0.34,
"..."
],
"strength": 0.82
}
],
"children": [
{
"key": [
0.56,
0.78,
"..."
],
"strength": 0.65
},
{
"key": [
0.23,
-0.45,
"..."
],
"strength": 0.41
}
]
}Next steps
- Structure Discovery — DAG discovery and orientation
- Temporal Reasoning — Granger causality and temporal predictions
- Explainability — XAI reports and explanations