The meeting happens about three weeks after the incident. I’ve now sat in enough of these to predict the script.

An agent did something wrong - declined a creditworthy applicant, quoted an impossible price, sent a compliance-sensitive email to the wrong distribution list. The team has assembled every log they have. Someone shares a screen full of JSON. And then the head of risk asks the only question that matters:

“Why did it do that?”

Silence. Because the logs answer a different question. They show the agent received a request at 14:32:07, called the pricing service at 14:32:09, and returned a response at 14:32:11. Timestamps, status codes, latencies. What happened, in exhaustive detail.

Not why. The reasoning - the retrieved documents that shaped the answer, the tool outputs the model saw, the intermediate steps it took, the version of the prompt that framed the whole exchange - was never persisted. It existed for four seconds inside a context window and then it was gone.

You cannot do a post-mortem on a system with no memory. And most agent deployments I’ve seen have no memory - they have logs, which is not the same thing.

Aviation Solved This in 1958

When aircraft started falling out of the sky in the early jet age, investigators faced the same wall: wreckage told them what happened, not why. The response wasn’t better wreckage analysis. It was the flight data recorder and the cockpit voice recorder - instruments that capture the aircraft’s state and the crew’s decision process, continuously, on the assumption that any flight might be the one that needs investigating.

Two properties make the black box work, and both are missing from typical agent logging:

It records before anyone knows there’s a problem. You cannot switch on a flight recorder after the crash. The entire value is that it was running when nothing seemed wrong.

It records the inputs to decisions, not just the outcomes. Control positions, instrument readings, what the crew said to each other. The investigation reconstructs the decision as the decision-maker experienced it.

No aviation regulator anywhere certifies a passenger aircraft without one. Meanwhile we are deploying autonomous systems that decide loans, claims, and prices with logging designed for debugging web servers.

Why Your Logs Can’t Answer “Why”

The instinctive response is “we’ll log more.” But the gap between logging and reasoning capture isn’t volume. It’s that agent decisions have a property traditional software doesn’t: they are not reproducible from their inputs as you logged them.

A deterministic service can be replayed. Same request, same code version, same bug. So logging the request is enough - the “why” can be reconstructed on demand.

An agent’s decision is a function of things your logs almost certainly don’t hold:

  • The assembled context. Not the user’s query - the full prompt after retrieval, tool outputs, conversation history, and system instructions were stitched together at runtime. Two identical queries can produce different contexts an hour apart because the knowledge base changed in between.
  • The model, exactly. Provider-side model updates mean the model that made January’s decision may not exist by March. You cannot re-ask it.
  • The decision chain. Agents don’t emit one completion. They plan, call tools, read results, revise. The final action is the last link of a chain, and the error is usually three links back.
  • The policy state. Which guardrails were active, which thresholds applied, which autonomy level the agent held at that moment - all of which have changed since.

Put differently: for a deterministic system, logs plus code equals explanation. For an agent, the explanation exists only at decision time. Either you capture it then, or it never existed.

sequenceDiagram
    participant U as Customer Request
    participant A as Agent
    participant R as Retrieval
    participant T as Tools
    participant D as Decision

    U->>A: Loan application #4471
    A->>R: Fetch policy + applicant docs
    R-->>A: 14 chunks (which 14? gone)
    A->>T: Bureau pull, income verification
    T-->>A: Tool outputs (gone)
    A->>A: Plan, evaluate, revise (gone)
    A->>D: DECLINE
    Note over U,D: Application logs keep the request and the DECLINE.<br/>Everything between - the entire explanation - is discarded.

The Anatomy of a Decision Record

So what does the black box for an agent actually contain? After building this several times, we’ve converged on six elements. Miss any one and some class of incident becomes uninvestigable.

One Decision, Fully Recorded

What must be persisted, per decision, at decision time

1. Assembled context

The exact prompt the model saw: retrieved chunks with source references, tool schemas, history, system instructions.

2. Model identity

Provider, model version, sampling parameters, prompt template version. "GPT-5.2 as of that Tuesday" is not an identity.

3. Decision chain

Every intermediate step: plans, tool calls and their raw outputs, retries, self-corrections. The chain, not the conclusion.

4. Policy state

Which guardrails, thresholds, and autonomy level applied at that moment - not what the policy repo says today.

5. Agent identity

Which registered agent, owned by whom, acting under which delegation. Ties the record to your registry.

6. Human touchpoints

Who reviewed, approved, overrode, or was never asked. The loop's evidence lives here or nowhere.

Notice what this list implies. A decision record is not a bigger log line. It’s a snapshot of an entire moment: model, context, policy, and identity, frozen together. The engineering challenge isn’t capturing any one element - it’s capturing them atomically, so that eight months later you can stand the moment back up and walk through it.

“That’s Too Expensive to Store”

The objection arrives in every design review, so let’s deal with it.

First, the arithmetic has changed. A fully-captured decision record - context, chain, outputs - typically runs 50 to 500 KB compressed. An agent making ten thousand decisions a day generates a few gigabytes. Your data lake ingests more than that from clickstream analytics before breakfast. We are talking about rupees per day to make your highest-risk automated decisions investigable.

Second, sampling is the wrong mental model for regulated decisions. You cannot keep the flight recorder for 10% of flights. If an agent declines a loan and the applicant disputes it under a fairness review, “we didn’t sample that one” is not an answer you can give RBI. The correct model is tiered retention by blast radius: full capture with multi-year retention for decisions that affect customers or move money; full capture with short retention for internal drafts; sampled capture only for the genuinely low-stakes tail.

Third - and this is the part teams discover later - the recorder pays for itself before any incident. The same records that make forensics possible make evaluation possible: they’re a perfect corpus of real production decisions for regression-testing your next prompt change, your next model migration, your next guardrail. Teams that capture reasoning stop arguing about whether the new model is better. They replay last quarter against it and look. (That replay corpus is exactly what our Eval product is built to consume.)

The Regulatory Direction Is Not Subtle

RBI’s FREE-AI framework asks for explainability commensurate with decision impact. The Seven Sutras make transparency a first-class principle. The DPDP Act gives data principals the right to understand how their data was used. IRDAI expects insurers to justify automated claim decisions. None of these regulators has yet said the words “reasoning capture” in a circular.

They will say something equivalent, and soon, for a simple reason: every one of those obligations is impossible to discharge retroactively without it. “Explainability” in a committee report becomes, after the first major disputed incident, a concrete evidentiary question: show us what the system knew and how it decided. The institutions that can answer in an afternoon will have a very different regulatory experience from the ones that need three weeks and a consulting engagement to say “we’re not sure.”

There’s a genuine deadline hiding here. Unlike most compliance infrastructure, a flight recorder cannot be backfilled. Every day of undecided procrastination is a day of decisions that will never be explainable. Whatever your agents did last quarter without reasoning capture is already permanently unknowable. The only question is when the unexplainable window stops growing.

Forensics Changes the Incident, Not Just the Report

Here’s what the difference looks like in practice - same incident, two infrastructures:

Without reasoning capture: the team reconstructs from application logs, guesses at what the context probably contained, can’t reproduce the behavior because the knowledge base has changed, and ships a fix for their best theory. The report says “root cause: likely retrieval of an outdated policy document.” Likely. Nobody knows if the fix addresses the actual failure. Three weeks, low confidence, and the regulator reads the word “likely” the same way you just did.

With reasoning capture: pull the decision record. See that the retriever returned a superseded circular ranked above the current one because of a stale index. See that the model followed it faithfully - the model did nothing wrong. Fix the index refresh, replay the affected window to enumerate every decision that touched the stale document, and remediate those customers specifically. Two days, exact blast radius, no adjectives in the report.

The second story isn’t just faster. It’s a different kind of claim: not “we believe we fixed it” but “here is every decision that was affected, and here is the evidence.” That is the difference between an incident and a crisis - and between a supervisory observation and an enforcement action.

What We’re Building at Rotavision

This is why AgentOps treats decision capture as a core metric - 100% of agent decisions recorded with full reasoning context, not sampled telemetry - and why Orchestrate logs every decision in multi-agent pipelines, where the “why” of one agent is buried in the outputs of three others. The registry tells you which agents exist; the flight recorder tells you what each one was thinking. Together they turn “what was it thinking?” from an awkward silence into a query.


A black box that wasn’t installed before takeoff cannot be installed after the crash. Your agents took off already.


Could you explain your agent’s worst decision from last month - with evidence? If not, let’s talk. AgentOps captures every decision with its full reasoning context - and our Governance Implementation team integrates it with the observability and compliance infrastructure you already run - so your next post-mortem takes an afternoon instead of three weeks.