Skips are not successes
An evaluator that lacks required inputs returnsmetadata.skipped=True,
passed=False, and a placeholder score=0.0. Do not interpret that placeholder
as a measured quality failure. Reports exclude the result from score and pass
rate denominators. A case where every evaluator skipped has status SKIPPED.
A case with both measured and skipped evaluators uses the measured results.
If you consume evaluator results directly, check metadata.get("skipped")
before using the score. assert_evaluators rejects skipped assertions because
it cannot establish that the requested check passed.
Gates require measurements
max_error_rate=0.02. Empty or skipped cases still
block a quality gate. Runs without a quality gate continue to return reports
for inspection; they do not automatically raise just because a case errored.
compare --fail-on-regression returns 1 for a measured regression, 2 when
cases are missing, added, removed, skipped, or errored, and 0 for a complete
comparison with no measured regression. A zero exit does not establish
statistical equivalence. Case pairing still uses input text and occurrence
order; retain the same cases, order, judge, and evaluator settings.

