Skip to content

Catch regressions that change run-to-run behaviour without moving the… - #4883

Merged
soulgalore merged 1 commit into
mainfrom
compare-shape-test
Jul 28, 2026
Merged

Catch regressions that change run-to-run behaviour without moving the…#4883
soulgalore merged 1 commit into
mainfrom
compare-shape-test

Conversation

@soulgalore

Copy link
Copy Markdown
Member

… median

The compare tab's rank test answers "did runs get generally slower" and is blind to a metric whose median holds while the runs split into two groups, for example a race that sends a third of the iterations down a slow path. The distribution strip draws that pattern but nothing tested it, so the row read "no change" at p around 0.5 while the spread visibly exploded.

Every compared metric now also runs a two-sample Kolmogorov-Smirnov test, which compares the whole distributions. It only surfaces when the rank test saw nothing (K-S fires on plain location shifts too, and those rows are already flagged) and when the one-sided likely-faster call doesn't own the story: the row goes amber with "spread changed", the KS p-value and the change in the middle-80% span, and the verdict card lists it separately as possible intermittent behaviour rather than a regression. At 20-ish iterations this catches clear variance growth and bimodality, not subtle shape drift, and the docs say so. The new statisticalTestKS field is additive; the graphite export is untouched.

Co-authored-by: Claude Fable 5 noreply@anthropic.com

… median

The compare tab's rank test answers "did runs get generally slower" and is blind to a metric whose median holds while the runs split into two groups, for example a race that sends a third of the iterations down a slow path. The distribution strip draws that pattern but nothing tested it, so the row read "no change" at p around 0.5 while the spread visibly exploded.

Every compared metric now also runs a two-sample Kolmogorov-Smirnov test, which compares the whole distributions. It only surfaces when the rank test saw nothing (K-S fires on plain location shifts too, and those rows are already flagged) and when the one-sided likely-faster call doesn't own the story: the row goes amber with "spread changed", the KS p-value and the change in the middle-80% span, and the verdict card lists it separately as possible intermittent behaviour rather than a regression. At 20-ish iterations this catches clear variance growth and bimodality, not subtle shape drift, and the docs say so. The new statisticalTestKS field is additive; the graphite export is untouched.

Co-authored-by: Claude Fable 5 noreply@anthropic.com
@soulgalore
soulgalore merged commit 99c5deb into main Jul 28, 2026
14 checks passed
@soulgalore
soulgalore deleted the compare-shape-test branch July 28, 2026 19:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant