Fix median aggregation returning arbitrary element instead of median#3696
Open
Chessing234 wants to merge 1 commit intoEleutherAI:mainfrom
Open
Fix median aggregation returning arbitrary element instead of median#3696Chessing234 wants to merge 1 commit intoEleutherAI:mainfrom
Chessing234 wants to merge 1 commit intoEleutherAI:mainfrom
Conversation
median() indexes into the unsorted array, so it returns whichever element happened to land at the middle position by evaluation order, not the actual statistical median. Add sorted() before indexing. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The
median()aggregation function indexes into the unsorted input array:This returns whichever element happened to land at the middle index by evaluation order, not the actual statistical median. For example,
median([10, 1, 20, 5, 15])returns20(element at index 2) instead of10.Any task using
aggregation: medianin its YAML config silently gets a wrong score.Fix: Sort before indexing:
sorted(arr)[len(arr) // 2].Test plan
[10, 1, 20, 5, 15][5 // 2]returns 20 (wrong),sorted(...)[5 // 2]returns 10 (correct)🤖 Generated with Claude Code