Event graph recording
Events are stored with explicit causal parents, declared at capture time rather than inferred later.
Agent-Causality records every run as a causal graph, so you debug the decision that changed the outcome instead of scrolling logs.
Live simulation of the bundled refund demo. Every row is an event from the captured run.
One instrumented run, from capture to causal diagnosis. The reel is bundled with this page: no redirect, no player embed, no third-party request.
In a multi-agent run, the last bad event is rarely the first bad decision.
Agents branch into parallel work, merge their results, and pass values between each other. A fallback in one agent becomes an input to another, then travels through a merge, a tool call, and three handoffs before it surfaces.
Ordinary traces show that sequence as a flat list. They don't tell you which upstream value changed the outcome, which branch introduced it, or whether two branches only failed together.
Agent-Causality turns the run into a causal event graph, then works backward from failure with evidence instead of guesses.
Events are stored with explicit causal parents, declared at capture time rather than inferred later.
Trace a value back through tools, memory, and handoffs; LLM-mediated links are clearly marked coarse.
See whether a failure came from one branch, several branches, or the interaction between them.
Decision baselines show where a branch diverged. Replay tests which input flipped the outcome.
Each step narrows the gap between a failed run and the branch responsible.
Capture every event and its causal parent as the run happens.
Turn the capture into a directed graph across agents, tools, and handoffs.
Walk backward from a failed outcome through the values that fed it.
Name the branch or interaction responsible, with the evidence attached.
This refund run ended in an audit failure. The chain shows how a fallback in one branch reached the final alert.
Click any node to trace its cause.
Three moments when a flat trace stops being enough.
Incident response. A refund run ends in an audit failure. Start at the terminal event and walk back to the fallback that changed the outcome.
Data audit. Ask where a score, status, or policy flag came from, and get the tool read, memory write, or fallback that produced it.
Regression review. Line up a captured run with its decision contract and replayed variants to see where the path diverged.
Install both packages for live OpenCode capture, then launch the explorer. The bundled demo trace loads locally, with no API key.
The Python package ships the SDK, CLI, ingest receiver, and explorer. The npm package is the OpenCode capture plugin. Live capture needs both.
$ pip install agent-causality
$ opencode plugin add @psionic-labs/opencode-agent-causality
$ causality-explorer
→ http://127.0.0.1:8766
Prefer the 30-second offline demo? From a source checkout:
uv run python examples/customer_approval.py
Read the install guide
On LangGraph? Point your graph's config at CausalityCallbackHandler from the Python SDK; nodes, tools, and LLM runs land in the causal graph.