O&A Consulting
Field notes on evaluation · 05

The answer was right. The agent made it up.

Expected: yes. Actual: yes. PASS. Then you read the trace and the evidence says the opposite. Two of these slides you can click — and the second one is the part everybody gets wrong.

O&A Consulting, LLC oandaconsult.com
02 · A test that passes

One task. One expected answer. Green.

A credit agent is asked a question with a known answer. It gets it right. Every output-based check you could write is satisfied.

the task

Determine whether customer X qualifies for product Y.

Agent output: “Yes, they qualify.”

output-based evaluation
Expectedyes
Actualyes
Test PASSstring match, 1/1

Nothing here is wrong. It's just answering a smaller question than you think. ↓

03 · The same run, one layer down · click it

Now open the trace.

execution trace · credit-eligibility-agent

Press the button to open the trace behind that PASS.

  1. 1tool call customer_lookup(id="X")
  2. 2tool result { "income": 80000, "status": "active" }
  3. 3tool call policy_lookup(product="Y")
  4. 4tool result { "min_income": 100000 }  80,000 < 100,000
  5. 5output “Yes, they qualify.” contradicted by step 4
Output check PASSmatches expected answer
Trace check not run

The output is correct. That is the entire problem.

04 · Before you go build this

The trace is the agent's own testimony.

The obvious next move is to check every claim against the tool results and fail the run when they disagree. We built that. It was wrong, and it took a false accusation to see why.

An agent that will fabricate a conclusion will fabricate the step that supports it. The tool stream is written by the thing under investigation.

A code-review agent got branded a liar by exactly this logic: its claims were checked against its own reported tool output, the checker over-read a mismatch, and a correct run failed its gate. A false accusation is more expensive than a missed one — it burns the trust the whole exercise exists to build.

So the question isn't “does the evidence disagree?” It's whose evidence is it?

05 · The rule that fixes it · toggle it

Only out-of-band evidence gets to convict.

Same contradiction, same claim, two different sources of evidence. Watch what each one entitles you to conclude.

Primary out-of-band ground truth

Retrieved source documents. A git diff computed independently of the agent. Anything the agent could not have authored.

contradicted → VIOLATION, gate fails
Self-report the agent's own tool stream

What the agent says it called and what it says came back. Useful, and controlled by the thing being judged.

contradicted → recorded, no gate failure

Corroborate with either. Condemn with one.

06 · The other half of the discipline

“Can't confirm” is not “false.”

Once you're verifying claims against evidence, there are four possible outcomes and only one of them is a defect. Collapsing them is how an evaluator becomes the thing nobody trusts.

supported

Evidence backs it

Clean. No finding.

contradicted

Evidence says the opposite

The only verdict that means the claim is false. The only one that earns a violation — and only on primary evidence.

unaddressed

Nothing speaks to it

Unverifiable. Also an honest signal that your trace capture has a gap.

uncertain

Partial or ambiguous

Still unverifiable. An unverifiable claim is not a defect, and scoring it as one manufactures failures.

Every verdict is recorded either way. Only one of them is allowed to fail a gate. ↓

07 · O&A Consulting

We evaluate the run, and we say who saw it.

agent-trustkit scores an agent run against a declared task contract, checks claims against evidence, and labels every finding with the provenance it rests on — so a reader knows the difference between proof and the agent's word for it. Your first trust report is free.

The short version: Why isn't output accuracy enough?

The answer was right. The agent made it up. Charlotte, NC · NAICS 541511