Rubrics with their criteria, versions and usage.
This page is about using a rubric. To write a good one — criteria, weights, versioning — see
writing rubrics.
As a training reward
Declare it as an environment’s verifier:manifest.json
FORGE_JUDGE_ENABLED on the deployment — it is what injects the judge endpoint and token
into the job.
As a benchmark
Declare it in a benchmark pack with thejudge runner:
benchmark.yaml
As a safety evaluation
Thesafety runner uses a rubric to decide whether the model declined what it should have. The
suite says which prompts should be refused; the rubric says what counts as refusing. Both belong to
your deployment — the platform ships neither, because either one would be it declaring a verdict it
has no standing to declare.
Keeping training and evaluation honest
The temptation is to train against a rubric and evaluate against a slightly different one, usually because somebody sharpened the training rubric mid-project. Do not. Reference the same<owner>/<name> in both, and let versioning carry the change:
Editing a rubric increments its version and invalidates the judge’s cached scores for it. Old runs
keep pointing at the version they actually used, and the revision text is kept so you can still
read what that version said.