# Read the evidence

Follow a score back to the work that earned it.

<a id="inspect"></a>

## Open a run, then its judgment

1. Select an eval
2. Open a model run
3. Read Session / Judge
4. Follow a citation

![SQL rubric decisions and evidence links in the judge inspector](https://openev.al/images/judgment.png)

Illustrative SQL evaluation: two decisions from the same recorded answer.

| Citation | What it points to |
| --- | --- |
| response | The final user-facing answer |
| message | A recorded session message |
| tool | A recorded tool call and its result |
| event | An event in the execution recording |
| artifact | A file from the initial or final workspace |

<a id="revise"></a>

## Revise a rubric without losing evidence

### terminal

```shell
bunx --bun @hona/openeval rejudge ./results/RUN_ID EVAL_RUN_ID
bunx --bun @hona/openeval snapshot ./results/RUN_ID before-rubric-update
```

Finalized EvalRuns and JudgeRuns are immutable. A completed rejudge updates the active selection; the original recording and earlier judgments remain available.

<a id="calibrate"></a>

## Calibrate the judge

| Control | What to establish |
| --- | --- |
| Positive | A valid response passes through an equivalent workflow |
| Negative | A real failure is detected |
| Borderline | A partial answer, correction, or omission is handled deliberately |
| Unavailable evidence | The judge returns unknown rather than inventing an observation |

### SDK exports for author-owned controls

```typescript
import { recordEvidence, judgeEvidence } from "@hona/openeval";

// recordEvidence: create a recording from supplied text and tool records.
// judgeEvidence: grade retained evidence in a separate audit directory.
```

Keep calibration examples outside candidate workspaces. Use expected labels you have reviewed, and inspect disagreements before changing a rubric.

[Documentation index](https://openev.al/llms.txt)

