Skip to content

Preserve PaperBench run group identity when aggregating seeds - #150

Open
sylvesterkaczmarek wants to merge 7 commits into
openai:mainfrom
sylvesterkaczmarek:fix/paperbench-run-group-seeds
Open

Preserve PaperBench run group identity when aggregating seeds#150
sylvesterkaczmarek wants to merge 7 commits into
openai:mainfrom
sylvesterkaczmarek:fix/paperbench-run-group-seeds

Conversation

@sylvesterkaczmarek

@sylvesterkaczmarek sylvesterkaczmarek commented Aug 16, 2026

Copy link
Copy Markdown

Summary

Keep PaperBench paper results grouped by the actual nanoeval run identity instead of aligning each paper independently by recency rank.

The previous parser sorted runs separately for every paper and then combined entries at the same list index into one synthetic seed. If a newer run was missing a paper, that paper could be pulled from an older run, mixing two real evaluation runs and potentially making an incomplete run appear complete. Grouping only by run_group_id also collapses distinct n_tries attempts because nanoeval places every attempt from one evaluation under the same run group.

Fixes #140.
Fixes #149.

Fix

  • retain run_group_id in parsed entries;
  • recover the nanoeval attempt identity from recorder group_id=<attempt_id>.<retry_idx>;
  • collect paper evaluations under (run_group_id, attempt_id) when attempt metadata is available;
  • keep legacy records without recorder attempt metadata grouped by run_group_id;
  • keep the latest duplicate/retry record for a paper within the same attempt;
  • rank whole attempts by their latest timestamp when applying seeds_to_keep;
  • represent missing papers as an incomplete run instead of borrowing a paper from another run.

Regression coverage

Adds deterministic coverage for incomplete newer runs, whole-run seeds_to_keep, nanoeval attempt/retry identity parsing, and multiple attempts sharing the same run_group_id. Distinct attempts remain separate EvaluationRun objects instead of overwriting one another.

Scoring, disqualification handling, per-paper scores, and aggregate-stat formulas are unchanged.

Copy link
Copy Markdown
Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b9e90f7c86

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread project/paperbench/paperbench/metrics.py
Signed-off-by: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com>
Signed-off-by: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com>
Signed-off-by: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com>

Copy link
Copy Markdown
Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1430042a37

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread project/paperbench/paperbench/metrics.py
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.

PaperBench metrics can mix papers from different evaluation runs into one seed PaperBench run parsing crashes on uneven seed counts

1 participant