Skip to content

Let an operator accept a live-benchmark miss with a recorded reason - #156

Merged
morgaesis merged 2 commits into
mainfrom
fix/release-benchmark-acceptance
Aug 18, 2026
Merged

morgaesis merged 2 commits into
mainfrom
fix/release-benchmark-acceptance

Conversation

@morgaesis

Copy link
Copy Markdown
Contributor

The live benchmark issues one model run per case against a provider whose output varies between identical runs, so detection rate moves several points either side of the floor without any change to the reviewer. Two runs of this same tree measured 91.2% and 89.5% against a 92.7% floor. The effect is not new: v0.8.16 is the last version that published assets, and v0.8.17 through v0.8.22 all carry a tag and no release. A fix for a production fault currently cannot reach production because an unrelated metric moved.

The release workflow accepts a bench_live_override_reason on dispatch. With a reason present a miss is published anyway; the reason becomes a warning annotation and a run-summary entry naming what was accepted. With no reason the behaviour is exactly as before and the benchmark still blocks. bench/baseline.json is never rewritten, so the next release faces the same floor and an accepted miss stays legible as a miss instead of quietly becoming the new normal.

This is a release valve rather than a fix for the measurement. Making the floor mean something needs a repeated-run acceptance rule comparing a median across runs, which is the follow-up.

The live benchmark measures one model run per case against a provider whose
output varies between identical runs, so its detection rate moves several
points either side of the floor without any change to the reviewer. Six
consecutive versions carry a tag and no published release as a result, which
means a fix for a production fault cannot reach production because an unrelated
metric moved.

The release workflow can now be dispatched with a reason that accepts a miss
and publishes anyway. The reason is required for the release to proceed, is
echoed as a warning annotation, and is written to the run summary. The baseline
is untouched, so the next release faces the same floor and an accepted miss
stays legible as a miss rather than becoming the new normal. With no reason
supplied the behaviour is unchanged and the benchmark still blocks.

This is a release valve, not a fix for the measurement. A repeated-run
acceptance rule remains the way to make the floor mean something.
@morgaesis
morgaesis merged commit 3dc8c69 into main Aug 18, 2026
8 of 10 checks passed
@morgaesis
morgaesis deleted the fix/release-benchmark-acceptance branch August 18, 2026 13:35
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