RubricResult = GraderVerdict | Literal['max_iterations_reached', 'grader_error']Status recorded on each evaluation.
Superset of GraderVerdict with two middleware-synthesized terminal
statuses the grader cannot emit itself:
max_iterations_reached: the iteration cap fired on a needs_revision
verdict; the agent terminates with its last response intact.grader_error: the grader sub-agent raised an exception (provider
timeout, missing credentials, malformed structured response, etc.).
Distinct from failed, which the grader returns about the rubric,
not about its own machinery.Only needs_revision continues the loop; every other status ends the
grading run.