Most teams validate a judge by reporting how often it agrees with humans. That number is useful context and a poor decision rule. The first thing to build is a table with one row per item and both verdicts side by side, so that every disagreement is addressable.
A minimum schema that survives audit looks like this:
{
"case_id": "refund-018",
"stratum": "policy_boundary",
"input": "...",
"response": "...",
"rubric_version": "policy-correctness/4",
"judge_model": "pinned-model-id",
"judge_verdict": "fail",
"judge_reason": "Claims refund is guaranteed after the deadline",
"human_verdict": "pass",
"human_reason": "Deadline language is conditional, not a guarantee",
"human_annotator": "rev-07",
"cost_fp": 0,
"cost_fn": 12
}
Two fields carry more weight than the rest. The rubric version pins what both raters were asked to decide, and the two cost columns encode what happens when each side is wrong. One calibration write-up recommends exactly this discipline: pin the judge model version, the full prompt, examples, output schema and decoding configuration, and keep judge errors and refusals in the denominator rather than excluding them, because a judge that is right on the cases where it produces a label but fails to produce one otherwise is less accurate end to end than it looks the OneUptime calibration guide.
Sample size comes before you read any split. A practical floor is 15 to 20 annotated items per error code, because with fewer than 10 annotations the confidence interval around kappa is wider than plus or minus 0.30 and the number is not actionable the AWS GEDD kappa guide. Stratify that sample instead of drawing it uniformly: include common traffic, rare high-risk cases, known failures and cases sitting on the rubric boundary the OneUptime guide. The general argument for stratification is that a uniform sample lets the dominant segment drown out small but decision-relevant ones, which inflates success metrics and hides regressions Statsig's stratified sampling guide.
One more rule before you look at the judge: have two humans label the same items independently. If the humans cannot apply the rubric consistently, no judge will fix the ambiguity, and you will spend weeks tuning a prompt against noise the Arize alignment field guide.



