Skip to main content

is_regression

Function is_regression 

Source
pub fn is_regression(
    baseline: f64,
    current: f64,
    higher_is_better: bool,
    tolerance: f64,
) -> bool
Expand description

The one regression rule.

The verdict is computed in three places — by the engine for the recorded OutcomeResult, by outcome_review when it drafts the revert, and by areev eval run --tolerance when it re-accepts a model swap — and any two silently disagreeing would either revert a change that held or sit on one that regressed. So all of them call this.

tolerance is the policy’s minimum effect size in the metric’s own unit (OutcomeEvalset::min_effect, or --tolerance in percentage points of the pass rate): a worsening of at most that much is not a regression. It is a floor, not a significance test — no p-value, no interval; a host that needs statistics has the run counts to compute them. Zero is the pre-policy behaviour: any drop is a regression. EPSILON is only floating-point equality slack, so a value read twice that differs in the last bit does not flip the verdict; it is not a noise floor.