Skip to content

test(corpus): pin per-suite task counts so corpus drift fails CI (re #244) - #290

Closed
reacher-z wants to merge 1 commit into
mainfrom
test/pin-corpus-counts
Closed

test(corpus): pin per-suite task counts so corpus drift fails CI (re #244)#290
reacher-z wants to merge 1 commit into
mainfrom
test/pin-corpus-counts

Conversation

@reacher-z

Copy link
Copy Markdown
Collaborator

Closes the CI half of #244.

Why

test-cases/v2/ holds 129 tasks; the README, the HF dataset card, and the leaderboard denominators all say 130. Nobody noticed because no test asserts a corpus size — test_builtin_case_suites_are_discoverable only checks that each suite is non-empty. The same blind spot let V1 drift to 152 while the README still advertises 153.

A ~1-task divergence silently changes every reported rate (a 3/129 row is not a 3/130 row), and it is exactly the kind of thing a reproducer notices before we do.

What this adds

EXPECTED_SUITE_SIZES in tests/test_host_tasks.py pins all four built-in suites — v1 152, v2 129, v1-lite 20, claw-eval 19 — as they exist on main today. Adding or removing tasks is still fine; doing it silently now fails CI with a message that names the surfaces to update:

v2 has 130 cases but EXPECTED_SUITE_SIZES pins 129. If this change is intentional, update EXPECTED_SUITE_SIZES and every published count (README, HF dataset card, leaderboard denominators) in the same commit.

A second test asserts the table covers every entry of batch.CASE_SUITES, so a new suite cannot slip in unpinned.

Not in scope

Whether the truth should be 129 or 130 — i.e. restoring the missing task versus correcting the published number — is the maintainer decision in #244. This PR pins today's reality so the answer can't drift again while that's decided; flipping the pin to 130 is a one-line change once the task is restored.

pytest tests/test_host_tasks.py → 14 passed; ruff format/check clean.

…244)

test-cases/v2 currently holds 129 tasks while README, the HF card and the
leaderboard denominators say 130 — the divergence went unnoticed because
nothing asserts a size. Pin all four built-in suites (v1 152, v2 129,
v1-lite 20, claw-eval 19) with a failure message telling the author to update
the published counts in the same commit, plus a guard so a newly added suite
cannot skip the pin.
@Perry2004

Copy link
Copy Markdown
Collaborator

Task changes on released suites are unusual, thus I believe a dedicated test case/GHA is not needed.

I'll keep in mind to update the counts if any changes are made on existing corpuses in the future.

@Perry2004 Perry2004 closed this Aug 19, 2026
@github-project-automation github-project-automation Bot moved this from Todo to Done in ClawBench Aug 19, 2026
@Perry2004
Perry2004 deleted the test/pin-corpus-counts branch August 19, 2026 03:45
@Perry2004 Perry2004 added the wontfix This will not be worked on label Aug 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

wontfix This will not be worked on

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants