Serialize a CheckReport to JUnit XML (Phase 4) — each check a
<testcase>, failing when its rate is below its threshold. min is the
default; per overrides it by check KIND, matching assertRates exactly (one
shared threshold helper) so the gate and the report can never disagree about
which checks failed. Because a check is data, this falls out for free: CI
test reporters, regression baselines, and a promptfoo bridge all consume it.
Serialize a CheckReport to JUnit XML (Phase 4) — each check a
<testcase>, failing when its rate is below its threshold.minis the default;peroverrides it by check KIND, matchingassertRatesexactly (one shared threshold helper) so the gate and the report can never disagree about which checks failed. Because a check is data, this falls out for free: CI test reporters, regression baselines, and a promptfoo bridge all consume it.