Start with the task verifier
With no scoring flag, a managed run uses each task’s verifier. Executable tests are a good choice when correctness can be checked directly: did the patch fix the failure, does the output parse, or does the program satisfy an invariant? A format check is not a semantic quality check. A valid JSON review can still contain an invented bug. State that boundary rather than treating format compliance as useful review quality.Use a judge for judgments that need interpretation
A judge is an agent profile acting as an assessor. For code review, it can compare a finding with a known issue and the relevant code, decide whether the finding describes the same failure, and explain its assessment. Supply the judge with enough information to make that decision. If the alleged bug depends on a caller, API contract or database constraint, a diff alone may be insufficient. More confident wording cannot replace missing evidence. Keep task-specific reference answers and privileged assessment material out of the reviewer’s environment. The reviewer should face realistic uncertainty; the judge may need additional information to assess the result.Write an explicit rubric
For a review task, define at least:- what makes a finding correct and consequential;
- which evidence supports a finding;
- how to handle duplicates, unsupported claims and irrelevant suggestions;
- whether valid issues outside a reference list earn credit;
- how partial credit and penalties map to a numeric reward; and
- what to do when the evidence is genuinely insufficient.
Use the reward contract
A supplied judge replaces the task verifier:reward to /logs/verifier/reward.json. Additional fields are retained but ignored by the scored-value reader: