Skip to content

fix: reject accuracy entries scored incompletely (complete: false) - #188

Closed
pgmpablo157321 wants to merge 1 commit into
mainfrom
fix/incomplete-accuracy-scores
Closed

pgmpablo157321 wants to merge 1 commit into
mainfrom
fix/incomplete-accuracy-scores

Conversation

@pgmpablo157321

Copy link
Copy Markdown
Contributor

Fixes #174

Problem

When LiveCodeBench cannot be scored, the client's LegacyMLPerfDeepSeekR1Scorer writes a non-null score from the text subsets only and sets complete: false. The CLI never read complete, so _gate_accuracy gated the partial score as the full aggregate, and it could pass.

Change

  • _gate_accuracy (models/aggregate/context.py) now checks every entry for complete: false. It reports an accuracy-gate / incomplete-datasets error naming those entries and skips the threshold comparison. It sits alongside the null-score check from fix: reject incomplete accuracy aggregates with null scores #170; an entry with both a null score and complete: false gets both errors.
  • New message text and fix hint in data/messages.yaml.

Notes:

  • Only an explicit complete: false counts as incomplete. A missing complete field is gated as before, so older result files keep working.
  • The inline performance-run entry is checked too, because its score also feeds the weighted aggregate.
  • Out of scope: the agentic accuracy path (_dataset_score) also ignores complete.

Tests

  • New: an incomplete DeepSeek-R1 entry (score 81.3355, which passed before) is rejected in both the keyed and native accuracy_scores layouts, and an entry with complete: true is still gated normally.
  • The new tests fail without the fix and pass with it. All accuracy-gate tests pass.
  • Full suite: the only failures and errors (MCP server, check-submission and runs command tests) are the same set on a clean main in my local environment, so they look like missing dependencies there rather than this change.
  • Ruff was not run locally.

🤖 Generated with Claude Code

When LiveCodeBench cannot be scored, LegacyMLPerfDeepSeekR1Scorer writes a
score from the text subsets alone and flags the entry complete: false. The
accuracy gate never read that flag, so the partial score was gated as the
full one and could pass. Report an accuracy-gate error naming every entry
with complete: false and skip the threshold comparison.

Fixes #174

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

MLCommons CLA bot All contributors have signed the MLCommons CLA ✍️ ✅

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.

Accuracy gate ignores complete: false

1 participant