Skip to content

Add per-task Opus pass@1 report for the ByteDance sample collections - #1105

Draft
huangkicn wants to merge 1 commit into
stagingfrom
claude/opus-pass1-scores-plot-cbx1sx
Draft

Add per-task Opus pass@1 report for the ByteDance sample collections#1105
huangkicn wants to merge 1 commit into
stagingfrom
claude/opus-pass1-scores-plot-cbx1sx

Conversation

@huangkicn

Copy link
Copy Markdown
Contributor

What

Adds scripts/opus_pass1_report.py, which plots per-task Claude Opus 4.8 pass@1 for the four 2026-08-04 ByteDance sample collections, plus the generated chart at docs/bytedance-samples-opus-pass1.png.

Opus pass@1 on ByteDance sample tasks

Why a script (and not just the dashboard)

The sample experiments are collection experiments: they pin a task roster and a task version per task, but gather only a subset of the trials that exist for those tasks. The formal-verification collection (ffe287bd) carries no Opus trials at all, even though claude-code/Opus ran on the pinned version of every one of its tasks in other experiments — so no single dashboard page can show Opus pass@1 per category.

The script treats each collection as the task roster, pulls /tasks/{id}/detail (combine copies already excluded server-side), and scores every trial whose model matches --model-substring on the collection's pinned task version, using the dashboard's pass@1 convention (reward == 1 passes; failed/skipped trials stay in the denominator; probes and superseded retries excluded).

Results (2026-08-06)

Category Collection Tasks with Opus runs Trials Mean pass@1
MLE bc9dcf81 27 / 50 158 22.0%
E2E migration 7fac77d1 9 / 20 33 14.8%
Binary decomp a32324bc 20 / 20 107 10.2%
Formal verification ffe287bd 10 / 10 33 40.0%

“Not run” rows mean no Opus trials exist on the sample's pinned task version (Opus may have run on other versions of the task).

Regenerate

ODDISH_API_KEY=... uv run scripts/opus_pass1_report.py \
    --out-png docs/bytedance-samples-opus-pass1.png --out-csv opus-pass1.csv

Collections, model substring, and API URL are flags; dependencies (matplotlib) resolve from the script's inline PEP 723 metadata.

🤖 Generated with Claude Code

https://claude.ai/code/session_01HZgGch3FDFNMN5G86Rmczm


Generated by Claude Code

The four 2026-08-04 ByteDance sample experiments are collection
experiments: they pin a task roster (and a task version per task) but
gather only a subset of the trials that exist for those tasks — the
formal-verification collection carries no Opus trials at all even though
claude-code/Opus ran on every one of its tasks. The dashboard therefore
can't show Opus pass@1 per category directly.

scripts/opus_pass1_report.py takes each collection as the task roster,
pulls /tasks/{id}/detail, and scores every trial whose model matches
--model-substring on the collection's pinned task version, using the
dashboard's pass@1 convention (reward == 1 passes; failed/skipped count
in the denominator; probes and superseded retries excluded). It renders
the per-category, per-task chart (docs/bytedance-samples-opus-pass1.png)
and an optional CSV.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HZgGch3FDFNMN5G86Rmczm
@vercel

vercel Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
oddish-app Ready Ready Preview Aug 6, 2026 9:46pm

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.

2 participants