> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mutagent.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Evaluate

> Stage ③ — score your agent against real traces. Derives criteria, judges each one, and validates the judge before trusting it.

<Note>Stage ③ of the loop · owned by the **Evaluator** skill · also on npm as [`@mutagent/evaluator`](https://www.npmjs.com/package/@mutagent/evaluator).</Note>

**Evaluate** turns your traces into a trustworthy verdict. It doesn't ask you to write the eval — it
derives the criteria from your own runs, judges each one, and checks the judge against your labels
before it trusts it.

## Run it

Ask for a verdict against your real runs:

```text theme={null}
Evaluate the Refund Processing agent against last quarter's 800 disputes and show the pass
rate per policy rule.
```

Other ways people ask:

* *Score the Deep Research agent's answers for citation accuracy and flag which criteria fail.*
* *Check how often the Refund Processing agent approves disputes that should have been escalated.*

## What it does

<Steps>
  <Step title="Derive criteria">
    Reads your traces and derives binary, actionable success criteria from the runs that worked and
    the runs that didn't — no criteria list to hand-write.
  </Step>

  <Step title="Judge">
    Fans out **one critique-before-verdict judge per criterion**, running in parallel, and scores
    each run: pass or fail, with a confidence. Each judge reasons before it rules, so every verdict
    arrives with its rationale.
  </Step>

  <Step title="Validate the judge">
    Measures each judge against your own labels. Below a threshold of labels, a judge is marked
    `unvalidated` rather than trusted — you always know which verdicts to believe.
  </Step>

  <Step title="Gate">
    Rolls the per-criterion results into one verdict on the whole run — a critical failure sinks it.
  </Step>
</Steps>

## Judge only — it never fixes

The evaluator decides; it does not change your agent. Failures route to
[Diagnose](/helix/lifecycle/diagnose), which proposes the fixes. Separating the grader from the fixer
is what keeps the verdict independent of the change it triggers.

## Use it on its own

The evaluator publishes independently as `@mutagent/evaluator`, so you can build a trustworthy eval
suite without adopting the rest of Helix.

<Card title="Next: Diagnose" icon="arrow-right" href="/helix/lifecycle/diagnose">
  Root-cause what evaluation flagged.
</Card>
