Repository navigation
refactor!: remove 0.10/0.11 deprecations; cut unit test time 64s to 37s - #222
Merged
Merged
Conversation
- tests/conftest.py: default USE_TORCH=0 so `datasets` stops importing torch (~1s per interpreter: xdist workers, offload workers, subprocesses). - test_across_releases: the changed-prompt resume patched preprocess from the test module, so the identity walk AST-parsed the CLI and its imports; patch from an on-disk package like the report test, and skip the SDK's retry backoff against the dead endpoint (~11s -> 0.4s per release). - spider2_lite: reuse no_bigquery_credentials (moved to tasks/conftest.py) so google-auth skips the GCE metadata probe (~12s -> ms); it also stops depending on the host having no ADC. - Drop test_no_model_type_restriction_accepts_both, a byte-identical twin of test_no_requires_accepts_any_model. - test_request_records imports arun_session from sieval.cli.session, not the deprecated leaderboard alias. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- `sieval.cli.leaderboard.session`, deprecated in 0.11.0 for one release, with its tests and its FORBIDDEN_SUBPACKAGE rule. - The resume aliases deprecated in 0.10.0: `--resume-from`, `runner_config.auto_resume` / `.resume_from`, the same-named TaskRunnerConfig / EvalSession / arun_session / run_session arguments, and `fold_resume_aliases`. A config still setting either key is refused with the `resume` form to use, so a resume never silently runs fresh. - `sieval.core.models.Transport` and the `OpenAIChatTransport` / `OpenAICompletionsTransport` import aliases (one compatibility cycle, since #45). `SglangTransport` is the live sglang_legacy executor; kept. - `sieval.infer.InferConfig`, unused since DeploymentPlan replaced it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 23, 2026
Merged
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.
Type
Summary
A cleanup PR in two commits: speed up the unit suite, and delete the APIs whose deprecation window has closed.
1. Unit + integration wall time: 64s → 37s (
-n 16; serial 245s). Almost nothing was redundant; the time was idle waiting.tests/conftest.pydefaultsUSE_TORCH=0.datasetsimports torch whenever it is installed, for a formatter nothing here uses:import sievaldrops from 2.1s to 1.1s, paid once per xdist worker, offload-pool worker and subprocess test (~25s of the saving).test_across_releases.py::test_a_changed_prompt_restarts_every_sample(~11s → 0.4s, ×3 releases). It patchedpreprocessfrom the test module, so the preprocess identity walk AST-parsed the CLI and everything it imports; it now patches from an on-disk package, as the report test already did. The restarted samples' retries against the dead endpoint now skip the SDK's backoff, not the retries.spider2_litemissing-credentials test (~12s → ms): it only deleted the env var, sogoogle.auth.default()probed the GCE metadata server until timeout. It now usesno_bigquery_credentials(moved totests/unit/tasks/conftest.py), which also stops it depending on the host having no ADC.test_no_model_type_restriction_accepts_both, a byte-identical twin oftest_no_requires_accepts_any_model. A sweep oftests/unit+tests/integrationfound no other duplicate or orphaned tests; "legacy" tests all exercise live code (_legacy_binding, schema-1/2 identity reads).2. BREAKING — remove what was deprecated in 0.10 and 0.11. Migration is in the CHANGELOG
### Removedentry.sieval.cli.leaderboard.session(deprecated 0.11.0, "kept for one release", refactor(cli)!: scope SiEval to an evaluation engine #199) → import fromsieval.cli.session. ItsFORBIDDEN_SUBPACKAGErule and tests go with it.--resume-fromis now an unknown option;runner_config.auto_resume/.resume_fromare refused with theresumeform to use rather than dropped, so a resume can never silently turn into a fresh run. The same-named Python args andfold_resume_aliasesare gone.sieval.core.models.Transport,OpenAIChatTransport,OpenAICompletionsTransport(one compatibility cycle since feat(models): rebuild the provider-neutral model binding plane (RFC #25) #45).SglangTransportstays: it is the livesglang_legacyexecutor.sieval.infer.InferConfig, unused sinceDeploymentPlan.Deliberately not removed — marked deprecated but still load-bearing:
ChatModel/GenModel(13 in-tree task modules), theCapabilityenum +Model.capabilities(52 uses across dialects), the dialects' directarun()(SglangGenModeland the dialect tests call it), and the class-name-only deserialization fallback (reads old on-disk records — a reproducibility contract).Test Plan
Automated
ruff check && ruff format --check)ty check, whole repo incl.tests/)pytest tests/unit tests/integration tests/acceptance -m "not stress and not benchmark" -n 16: 9577 passed, 2 skipped in 50sscripts/check_preflight.pyall PASS,scripts/sync_package_stubs.py --check,scripts/check_layer_imports.pyManual
sieval eval cfg.yaml --resume-from /x→ exit 2,No such option: --resume-from (Possible options: --result-dir, --resume)runner_config.resume_from→ exit 1,runner_config.resume_from was removed in 0.12; use runner_config.resume: <dir>, no result dir createdNote: one full run hit
test_runner.py::TestE2EStageConcurrency::test_stage_concurrency_limit_allows_higher(5 <= 4) once; 40 isolated repeats (with and without torch) all passed. Pre-existing flake, not touched here.Checklist
Required (all PRs)
type(scope): description)AI-Generated Code - <model> (<provider>)in module docstringcore/If: Breaking Change
🤖 Generated with Claude Code