Cut the eval suite from 19 to 17 cases, one capability each - #565
Closed
TheGreatAxios wants to merge 2 commits into
Closed
Cut the eval suite from 19 to 17 cases, one capability each#565TheGreatAxios wants to merge 2 commits into
TheGreatAxios wants to merge 2 commits into
Conversation
These existed only as untracked files in a working tree, one `git clean` from being lost: complex-fee-authority, complex-pointer-chase, complex-rename-spread, and freename-list-dir, plus their fixtures. Cases are auto-discovered from evals/capability/cases/, so merging this takes the live suite from 19 to 23 and makes every recorded per-model total in the tracking doc incomparable. Do not merge before deciding against CL-6886 whether the three complex-* cases supersede complex-bugfix and the near-clone trio; whatever they replace should be removed in the same change, and the resulting suite re-baselined.
Four cases shared tests/fixtures/demo-comparison and tested the same thing — implement or modify an endpoint in a toy API until tests pass — at 40 turns apiece. Keep complex-stock-gate (richest: multi-file mutable state) and drop complex-jwt, complex-pagination, and complex-idempotent-orders. Drop complex-bugfix and its buggy-service fixture too; simple-health and hidden-contract-inventory already cover implement-against-tests at both ends of the difficulty range. Of the four rescued cases, keep only the two that validate something nothing else does: - complex-fee-authority: authority resolution when docs and config actively disagree with the import graph - freename-list-dir: discovering an off-wire tool through tool_search Drop the other two as duplicates of baselined cases: complex-rename-spread duplicates complex-rename-user (rename across call sites), and complex-pointer-chase duplicates misleading-symptom (trace indirection to the real target) — which is also currently the only case that discriminates between models. Net: 19 to 17 cases, and 103 fewer turns of budget per model per matrix run. Every recorded per-model total is now against a different suite, so the tracking doc needs a fresh baseline before these numbers mean anything.
Collaborator
Author
|
Closing as superseded by #577, which replaces the suite entirely rather than trimming it. The case against continuing here is in #577's own numbers: the last full matrix was 92/95 with all three failures on a single case, and suite v1's 14 cases were 14/14 on every model. A suite nothing fails cannot tell us whether CL-6940 helped, which is the reason we need one. Cutting 19 → 17 does not change that; #577 goes to four graded cases with real discriminating power. Per the operator: #577 is the suite for the current and next releases' baseline. |
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.
Net −549 lines (248 added, 797 removed), 19 → 17 cases. Replaces the earlier "add four cases" framing: the four rescued cases should displace redundancy, not stack on top of it.
The redundancy, confirmed by fixture
Four cases shared
tests/fixtures/demo-comparisonand tested one capability — implement or modify an endpoint in a toy API until tests pass — at 40 turns each:complex-jwtcomplex-stock-gate— richest of the four (multi-file mutable state)complex-paginationcomplex-idempotent-ordersAlso removed
complex-bugfixand itsbuggy-servicefixture.simple-health(20t) andhidden-contract-inventory(40t) already bracket implement-against-tests at both ends of the difficulty range.Of the four rescued cases, two earn their place
Kept — nothing else validates these:
complex-fee-authority— authority resolution when docs and config actively disagree with the import graphfreename-list-dir— discovering an off-wire tool viatool_searchDropped as duplicates of already-baselined cases:
complex-rename-spreadduplicatescomplex-rename-user(rename across call sites)complex-pointer-chaseduplicatesmisleading-symptom(trace indirection to the real target) — which is also currently the only case that discriminates between models, so it's the one to keepCost
Removes three 40-turn and one 30-turn case, adds a 35-turn and a 12-turn: −103 turns of budget per model per matrix run, concentrated in the slow tail.
Re-baseline required before merge lands meaning
Cases are auto-discovered, so every per-model total in the Capability eval tracking doc ("18/19", "19/19") is now against a different suite and stops being comparable. After merge: label the suite as the successor to v2 and record a fresh matrix. Fold with CL-6886, which called for exactly this fold plus the
env-baitgrader hole.README case table updated in the same commit (guardrail 12). No test depends on the removed case ids —
lib.test.tsreferences them only as syntheticsampleCase()fixtures.Refs CL-6959, CL-6886.