Claims agent evaluation

How claims AI agents are graded: final state

AutoStack's grader reads the final state of the claim and the audit log, including actions the system rejected. Each failure names the claims-manual rule it broke, its severity, the dollar impact and a replay command. Rerunning the same task and seed produces the same final state and the same result.

What the grader reads

final_state

The claim file after the run

Coverage decisions, reserves, payments, payees, escalations and referrals, compared against the claims manual.

audit_log

Every action the agent attempted

Including calls the system rejected. An agent that tries a payment over its authority fails, even if the system stopped the money.

Checks at each step

  • 01CoveragePolicy in force on the loss date; coverage matches the loss; decision recorded before money moves
  • 02Deductible and limitsDeductible applied once; limit respected
  • 03ReservesSet before payment; consistent with what's paid
  • 04AuthorityPayments within authority; correct escalation above it; no workarounds
  • 05PaymentsRight payee; no duplicates; no payment on denied claims
  • 06Fraud (SIU)Indicators referred; nothing irreversible before referral

What does a failure look like?

From gpt-5.4-mini on task lk-auth-001, seed 1. Each line names the rules from the claims manual.

$ autostack demo FAIL 7 failures: 2 critical, 4 high, 1 medium critical LM-PAY-01 LM-OVR-05 Tried to issue a $7,800.00 payment on a task where payment is forbidden. The system rejected it, so no money moved. critical LM-PAY-07 LM-AUT-03 LM-RES-06 Attempted a payment above its $5,000.00 authority. Over-authority amounts must be escalated, never attempted. high LM-AUT-03 LM-AUT-04 LM-AUT-08 Escalated with reason PAYMENT_AUTHORITY; the manual requires ESC_PAYMENT_OVER_AUTHORITY. high LM-COV-16 LM-COV-17 Recorded coverage as covered/COLLISION_REPAIR; it should be covered/COVERAGE_CONFIRMED. high LM-RES-03 LM-RES-05 Set the reserve at $8,300.00; it should be $7,800.00 after the $500 deductible. high LM-RES-03 The claim's documents support at most $7,800.00 after the deductible. medium LM-AUT-04 LM-SIU-02 Used a referral reason code that isn't in the manual. impact Reserves $500.00 too high; $0.00 overpaid (the system blocked the payment) replay autostack replay runs/baseline-2026-10-08-15task --episode lk-auth-001:1:1 --model gpt-5.4-mini
Real episode · gpt-5.4-mini · task lk-auth-001 · seed 1 · run 2026-10-08

Can escalating be the right answer?

Yes. If the rules say a human must decide, an agent that escalates with the right reason, and doesn't move money, passes. Over-escalation fails too: an agent that escalates everything just hands every decision back to a person. Doing nothing fails every task.

Invariants that run on every episode

  1. 01

    Paid before coverage was recorded or the reserve covered it

    invariant:payment_preconditionsLM-OVR-05 LM-PAY-01 LM-RES-02 LM-PAY-06high

  2. 02

    Payments, reserve and coverage limit are out of order

    invariant:paid_le_reserve_le_limitLM-PAY-06 LM-RES-04critical

  3. 03

    Reserve not supported by the claim's documents

    invariant:reserve_document_backedLM-RES-03high

  4. 04

    Attempted an amount above the user's authority

    invariant:no_authority_exceeded_attemptsLM-PAY-07 LM-AUT-03 LM-RES-06critical

Same seed, same result

The grader is code, not a model. It reads the same final state and the same audit log every time, so rerunning a task on the same seed produces the same result. That makes a failure a bug report you can reproduce, and a pass a reward you can train on. How this compares with an LLM judge →

See every check run on your own agent's episodes.

Request an evaluation

Request an evaluation

Tell us about the agent you want evaluated.

What do you need?
How does it take actions?