pub struct AxisStat {
pub axis: Axis,
pub baseline_median: f64,
pub candidate_median: f64,
pub delta: f64,
pub ci95_low: f64,
pub ci95_high: f64,
pub severity: Severity,
pub n: usize,
pub flags: Vec<Flag>,
}Expand description
One axis’s statistical result.
Fields§
§axis: AxisWhich axis this row describes.
baseline_median: f64Median of the baseline sample.
candidate_median: f64Median of the candidate sample.
delta: f64candidate_median - baseline_median.
ci95_low: f64Lower bound of the 95% bootstrap CI of the delta.
ci95_high: f64Upper bound of the 95% bootstrap CI of the delta.
severity: SeveritySeverity classification per Severity::classify.
n: usizeNumber of paired observations the axis was computed from. Zero
means the axis had nothing to measure (e.g. no tool calls in
either side → Trajectory axis is n=0).
flags: Vec<Flag>Caveat flags — e.g. low_power (n<5) or ci_crosses_zero.
Implementations§
Source§impl AxisStat
impl AxisStat
Sourcepub fn empty(axis: Axis) -> Self
pub fn empty(axis: Axis) -> Self
Build a “no data” row — used when the axis had nothing to measure.
Sourcepub fn new_value(
axis: Axis,
baseline_median: f64,
candidate_median: f64,
delta: f64,
ci95_low: f64,
ci95_high: f64,
n: usize,
) -> Self
pub fn new_value( axis: Axis, baseline_median: f64, candidate_median: f64, delta: f64, ci95_low: f64, ci95_high: f64, n: usize, ) -> Self
Build an axis row for a continuous-valued axis (latency, verbosity,
cost, reasoning, …). Severity uses the relative-delta thresholds
via Severity::classify; flags come from compute_flags.