How do you build a useful set?
Start from failures you have actually seen. Every complaint, every wrong answer, every awkward edge case becomes a case in the set, paired with what the right output would have been. Twenty real cases are worth more than a thousand synthetic ones, because they represent the distribution your users actually produce. Twenty to fifty cases drawn from real failures is enough to be useful on day one; a suite of five hundred synthetic cases that nobody trusts is not.
Then choose a grader per case. Some can be checked exactly — did it return valid JSON, did it contain the right identifier, did it refuse when it should have. Others need a rubric, scored by a person or by another model prompted with clear criteria. Model-as-judge is useful and imperfect; spot-check its scores against your own.
