OpenEvalDocumentation
GitHub
AUTHOR

Write judge rubrics

Small, independent decisions with evidence you can inspect.

On this page

Declare each metric

judge.md
# Requests the SQL dialect

## Metric: 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.

## Metric: 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
## Metric: id — LabelDeclares a stable metric ID and a display label
Pass and fail criteriaState the observable behavior, including omissions
Domain referencesSupply version-correct facts and relevant sources
Multiple metricsAll declared metrics are graded from the same recording

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 metric

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 metric IDs and 0 / 1 / null values
Accept equivalent correct approachesValidate citations against the recording
Explain borderline casesKeep recordings and judgments immutable
Calibrate your criteriaAggregate metric values consistently
Find in documentation