OpenEvalv0.5.3Documentation
GitHub72
AUTHOR

Write judge rubrics

Small, independent decisions with evidence you can inspect.

On this page

Declare each criterion

judge.md
# Requests the SQL dialect

## Criterion: asked_dialect — Asks for the SQL dialect

Pass when the agent asks which database or SQL dialect is in use.
Fail when it assumes a dialect without asking.
Asking alongside a draft counts.

## Criterion: safe_parameters — Uses bound parameters

Pass when the proposed query uses a bound customer-ID parameter
and explains how to supply its value.
Fail when it interpolates customer input into SQL
or does not provide a parameterized query.
PartContract
## Criterion: id — LabelDeclares a stable criterion ID and display label
Scoring rulesState the observable behavior, including omissions
Domain referencesSupply version-correct facts and relevant sources
Multiple criteriaAll declared criteria are graded from the same recording

Group criteria into categories

judge.md
## Criterion: asked_dialect — Asks for the SQL dialect
Categories: misalignment
judge.ts
export const criteria = {
  correct_answer: { name: "Correct answer", categories: ["general"] },
} satisfies CodeCriteria;

A category is any string. Put the optional Categories: line directly below a heading, or export criteria from judge.ts. OpenEval removes category lines before the judge reads the rubric, so adding or changing categories never rejudges recorded evidence.

The viewer adds a Categories tab with a radar chart and a models-by-categories heatmap, and a filter that rescores any view to the selected categories. Benchmark results also show a scorecard: the benchmark on the left, one row per category, and one column per model. Export image saves that table or the totals chart as a PNG. Set categories in benchmark.ts to compose a benchmark from them, or pass --only-category to run a subset.

KindPublished set
Capability (Artificial Analysis)agents · coding · general · scientific-reasoning
Agent failure (MAST, NeurIPS 2025)specification · misalignment · verification

Decide what counts

SQL responseAsks for dialectBound parameters
Asks which DB; supplies a parameterized draft1 · pass1 · pass
Assumes PostgreSQL; supplies a bound $1 query0 · fail1 · pass
Only asks which database1 · pass0 · fail
Recording is unavailablenull · unknownnull · unknown

Let the shared judge handle mechanics

  1. Read the rubric
  2. Inspect the recording
  3. Cite evidence
  4. Submit every criterion score

The native openeval-judge agent supplies the common evidence, citation, and submission instructions. Your rubric supplies task-specific criteria. Structured tools validate the judge's submission and return errors for correction.

Author responsibilityOpenEval responsibility
Define intended behaviorValidate criterion IDs and normalized 0–1 or null scores
Accept equivalent correct approachesValidate citations against the recording
Explain borderline casesKeep recordings and judgments immutable
Calibrate your criteriaAggregate criterion scores consistently
Find in documentation