An LLM judge returns a score in response to an instruction. That instruction, the rubric, is the measuring instrument. If the instrument changes between the call that scored model A and the call that scored model B, the two scores describe different experiments, even though they sit in the same table and carry the same column headers.
The failure is quiet. Research on unified evaluation frameworks finds that minor implementation details, such as prompt formatting or answer extraction, can shift measured performance substantially, so two teams running the same benchmark can report meaningfully different scores because their harnesses handle whitespace or examples differently the MLflow evaluation harness article. Rubric text is exactly this kind of detail. A comma moved, an anchor reworded, a criterion added: each changes the question the judge answers.
This is not hypothetical drift in a lab notebook. If a candidate answer, rubric, judge model and request parameters are held identical but the judge returns a 4 on one run and a 2 on the next, the evaluation system never measured how often, where, or by how much it varies the rubric consistency guide. Add rubric edits on top of that inherent noise and you can no longer tell a real quality difference from an edit someone made on a Friday.
The practical stance is to treat the rubric like a dataset version. A dataset name is not an experimental address; a reproducible evaluation needs an identifiable data state plus enough provenance to establish how it differs from the versions before and after it the dataset versioning essay. The rubric deserves the same treatment. The point is not that versioning makes the rubric correct. It makes the evidence traceable enough that correctness becomes investigable.



