benchkit-cli 0.2.0__tar.gz → 0.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {benchkit_cli-0.2.0/src/benchkit_cli.egg-info → benchkit_cli-0.2.1}/PKG-INFO +1 -1
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/pyproject.toml +1 -1
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/patcheval.py +21 -4
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1/src/benchkit_cli.egg-info}/PKG-INFO +1 -1
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_patcheval.py +26 -1
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/LICENSE +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/README.md +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/setup.cfg +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/__init__.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/_pi_proxy.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/answer_key_guard.ts +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/artifacts.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/__init__.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/aider_polyglot.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/arc.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/banking77.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/base.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/boolq.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/chartqa.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/code_verifier.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/cruxeval.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/downloads.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/evalplus.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/git_surgery.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/gpqa.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/gsm8k.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/hellaswag.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/humaneval.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/ifeval.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/ifeval_instructions.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/mbpp.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/mc_arena.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/mcq.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/medfailbench.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/mmlu.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/mmlu_pro.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/mmvp.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/ocrbench.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/openbookqa.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/piqa.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/ruler.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/ruler_generator.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/sanity.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/treejs_arena.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/truthfulqa.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/utils.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/vision.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/vstar.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/winogrande.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/benchmarks/xstest.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/browser.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/catalog.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/cli.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/client.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/config.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/controls.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/MMLU_LICENSE.txt +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/README.md +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/arc_challenge.jsonl +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/banking77.jsonl +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/banking77_intents.json +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/boolq.jsonl +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/code_verifier.jsonl +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/cruxeval.jsonl +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/gpqa_diamond.jsonl +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/gsm8k.jsonl +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/hellaswag.jsonl +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/humaneval.jsonl +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/ifeval.jsonl +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/mbpp.jsonl +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/mc_blocks_1_20_1.jsonl +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/medfailbench_hard30.jsonl +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/medfailbench_hard30.md +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/openbookqa.jsonl +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/piqa.jsonl +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/sanity_code.jsonl +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/truthfulqa.jsonl +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/winogrande.jsonl +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/datasets/xstest.csv +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/decision.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/demo.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/dockerfiles.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/engine.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/evaluation.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/events.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/executor.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/backport-release-stack/setup.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/backport-release-stack/verify.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/bisect-the-regression/setup.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/bisect-the-regression/verify.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/rebase-conflict-chain/setup.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/rebase-conflict-chain/verify.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/recover-complex-stash/setup.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/recover-complex-stash/verify.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/recover-lost-work/setup.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/recover-lost-work/verify.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/repair-force-pushed-remote/setup.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/repair-force-pushed-remote/verify.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/revert-merge-with-followups/setup.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/revert-merge-with-followups/verify.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/secret-in-history/README.md +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/secret-in-history/setup.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/secret-in-history/verify.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/split-the-mega-commit/setup.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/split-the-mega-commit/verify.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/untangle-nested-submodules/setup.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/untangle-nested-submodules/verify.sh +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/history.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/jobs.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/leakage.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/looping.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/mc_render.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/mc_viewer/dist/atlas.png +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/mc_viewer/dist/blockStates.json.gz +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/mc_viewer/dist/version.json +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/mc_viewer/dist/viewer.html +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/mc_viewer/dist/viewer.js +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/mc_viewer/dist/viewer.js.LICENSE.txt +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/mc_viewer/dist/worker.js +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/mc_viewer/dist/worker.js.LICENSE.txt +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/metrics.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/ollama.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/perf.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/perf_report.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/perturbations.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/pi_agent.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/pi_package/package-lock.json +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/pi_package/package.json +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/report.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/report_markdown.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/results.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/retry.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/runner.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/sandbox.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/template_check.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/templates/arena.html +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/templates/history.html +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/templates/perf.html +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/templates/report.html +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/tui/__init__.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/tui/app.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/tui/app.tcss +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/tui/formatting.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/tui/screens/__init__.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/tui/screens/connect.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/tui/screens/detail.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/tui/screens/help.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/tui/screens/modals.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/tui/screens/results.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/tui/screens/run.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/tui/screens/setup.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/tui/theme.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/tui/widgets.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit_cli.egg-info/SOURCES.txt +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit_cli.egg-info/dependency_links.txt +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit_cli.egg-info/entry_points.txt +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit_cli.egg-info/requires.txt +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit_cli.egg-info/top_level.txt +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_aider_polyglot.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_banking77.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_code_verifier.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_concurrency.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_config.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_cruxeval.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_datasets.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_decision.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_evalplus.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_git_surgery.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_gsm8k.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_history.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_humaneval.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_looping.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_mc_arena.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_mcq.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_medfailbench.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_medfailbench_real_outputs.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_medfailbench_real_outputs_escalation.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_medfailbench_scoring_distortion.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_perturbations.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_pi_harness.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_repair.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_report.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_retry.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_ruler.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_runner.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_sanity.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_treejs_arena.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_unload.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_utils.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_vision.py +0 -0
- {benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_xstest.py +0 -0
|
@@ -39,8 +39,10 @@ _RELEASE_FILE = "dataset.json"
|
|
|
39
39
|
# files tasks.jsonl names are fetched (not the miner that built it), and every
|
|
40
40
|
# task pins its source archive and hidden tests by sha256, which load_tasks
|
|
41
41
|
# verifies, so a bad or moved upstream file fails loudly instead of scoring.
|
|
42
|
+
# The revision is a pinned commit: a cache fetched from any other revision is
|
|
43
|
+
# fetched again, so an errata release never grades with stale hidden tests.
|
|
42
44
|
_HF_DATASET = "DogukanUrker/PatchEval"
|
|
43
|
-
_HF_REVISION = "
|
|
45
|
+
_HF_REVISION = "13c6964b497f6f118bf5af51a2b1b39cc2d612e6"
|
|
44
46
|
_RELEASE = "pilot-20"
|
|
45
47
|
_COMPLETE = ".complete"
|
|
46
48
|
_FETCH_LOCK = threading.Lock()
|
|
@@ -178,11 +180,19 @@ def _dataset_dir() -> Path:
|
|
|
178
180
|
return _configured_root() or _cache_dir()
|
|
179
181
|
|
|
180
182
|
|
|
183
|
+
def _cached_revision_matches(root: Path) -> bool:
|
|
184
|
+
try:
|
|
185
|
+
marker = (root / _COMPLETE).read_text(encoding="utf-8")
|
|
186
|
+
except OSError:
|
|
187
|
+
return False
|
|
188
|
+
return marker.strip() == _HF_REVISION
|
|
189
|
+
|
|
190
|
+
|
|
181
191
|
def _dataset_installed() -> bool:
|
|
182
192
|
configured = _configured_root()
|
|
183
193
|
if configured is not None:
|
|
184
194
|
return (configured / _RELEASE_FILE).is_file()
|
|
185
|
-
return (_cache_dir()
|
|
195
|
+
return _cached_revision_matches(_cache_dir())
|
|
186
196
|
|
|
187
197
|
|
|
188
198
|
def _fetch_release(progress: Progress | None = None) -> Path:
|
|
@@ -192,8 +202,9 @@ def _fetch_release(progress: Progress | None = None) -> Path:
|
|
|
192
202
|
return configured
|
|
193
203
|
root = _cache_dir()
|
|
194
204
|
with _FETCH_LOCK:
|
|
195
|
-
if (root
|
|
205
|
+
if _cached_revision_matches(root):
|
|
196
206
|
return root
|
|
207
|
+
(root / _COMPLETE).unlink(missing_ok=True)
|
|
197
208
|
root.mkdir(parents=True, exist_ok=True)
|
|
198
209
|
done = 0
|
|
199
210
|
with vision._http_client() as client:
|
|
@@ -724,6 +735,7 @@ class PatchEval:
|
|
|
724
735
|
def __init__(self, dataset_root: Path | None = None) -> None:
|
|
725
736
|
self.dataset_root = dataset_root
|
|
726
737
|
self.release = "unloaded"
|
|
738
|
+
self.revision: int | None = None
|
|
727
739
|
|
|
728
740
|
def _root(self) -> Path:
|
|
729
741
|
return (self.dataset_root or _fetch_release()).resolve()
|
|
@@ -753,6 +765,8 @@ class PatchEval:
|
|
|
753
765
|
f"PatchEval dataset must use schema_version {_SCHEMA_VERSION}"
|
|
754
766
|
)
|
|
755
767
|
self.release = str(release.get("release") or "unknown")
|
|
768
|
+
revision = release.get("revision")
|
|
769
|
+
self.revision = revision if isinstance(revision, int) else None
|
|
756
770
|
try:
|
|
757
771
|
records = [
|
|
758
772
|
json.loads(line)
|
|
@@ -774,7 +788,10 @@ class PatchEval:
|
|
|
774
788
|
return [Task(spec.id, "", {"spec": spec}) for spec in specs]
|
|
775
789
|
|
|
776
790
|
def result_metadata(self, _variant: str | None) -> dict:
|
|
777
|
-
|
|
791
|
+
metadata: dict = {"dataset_release": self.release}
|
|
792
|
+
if self.revision is not None:
|
|
793
|
+
metadata["dataset_revision"] = self.revision
|
|
794
|
+
return metadata
|
|
778
795
|
|
|
779
796
|
def build_prompt(self, task: Task) -> str:
|
|
780
797
|
spec = self._spec(task)
|
|
@@ -20,7 +20,9 @@ import pytest
|
|
|
20
20
|
from benchkit import catalog
|
|
21
21
|
from benchkit.benchmarks import vision
|
|
22
22
|
from benchkit.benchmarks.patcheval import (
|
|
23
|
+
_COMPLETE,
|
|
23
24
|
_GENERIC_REPAIR,
|
|
25
|
+
_HF_REVISION,
|
|
24
26
|
PatchEval,
|
|
25
27
|
_grade_once,
|
|
26
28
|
_trusted_patch,
|
|
@@ -139,6 +141,7 @@ class PatchEvalTests(unittest.TestCase):
|
|
|
139
141
|
self.assertEqual(
|
|
140
142
|
benchmark.result_metadata(None), {"dataset_release": "pilot-20"}
|
|
141
143
|
)
|
|
144
|
+
|
|
142
145
|
prompt = benchmark.build_prompt(tasks[0])
|
|
143
146
|
self.assertEqual(
|
|
144
147
|
prompt,
|
|
@@ -150,6 +153,20 @@ class PatchEvalTests(unittest.TestCase):
|
|
|
150
153
|
self.assertNotIn("benchmark", prompt.lower())
|
|
151
154
|
self.assertNotIn("hidden", prompt.lower())
|
|
152
155
|
|
|
156
|
+
def test_records_the_dataset_revision_when_the_release_has_one(self) -> None:
|
|
157
|
+
with tempfile.TemporaryDirectory() as directory:
|
|
158
|
+
root = Path(directory)
|
|
159
|
+
_dataset(root)
|
|
160
|
+
release = json.loads((root / "dataset.json").read_text("utf-8"))
|
|
161
|
+
release["revision"] = 2
|
|
162
|
+
(root / "dataset.json").write_text(json.dumps(release), "utf-8")
|
|
163
|
+
benchmark = PatchEval(root)
|
|
164
|
+
benchmark.load_tasks()
|
|
165
|
+
self.assertEqual(
|
|
166
|
+
benchmark.result_metadata(None),
|
|
167
|
+
{"dataset_release": "pilot-20", "dataset_revision": 2},
|
|
168
|
+
)
|
|
169
|
+
|
|
153
170
|
def test_rejects_unvalidated_tasks(self) -> None:
|
|
154
171
|
with tempfile.TemporaryDirectory() as directory:
|
|
155
172
|
root = Path(directory)
|
|
@@ -716,7 +733,7 @@ def test_patcheval_fetches_its_release_and_verifies_it(cache, tmp_path, monkeypa
|
|
|
716
733
|
seen: list[str] = []
|
|
717
734
|
|
|
718
735
|
def serve(request: httpx.Request) -> httpx.Response:
|
|
719
|
-
prefix = "/datasets/DogukanUrker/PatchEval/resolve/
|
|
736
|
+
prefix = f"/datasets/DogukanUrker/PatchEval/resolve/{_HF_REVISION}/"
|
|
720
737
|
name = request.url.path.removeprefix(prefix)
|
|
721
738
|
seen.append(name)
|
|
722
739
|
path = release / name
|
|
@@ -744,6 +761,14 @@ def test_patcheval_fetches_its_release_and_verifies_it(cache, tmp_path, monkeypa
|
|
|
744
761
|
catalog.install("patcheval")
|
|
745
762
|
assert len(seen) == 4 # cached
|
|
746
763
|
|
|
764
|
+
# A cache from another revision (an older errata) is fetched again.
|
|
765
|
+
(cache / "patcheval" / "pilot-20" / _COMPLETE).write_text("main\n")
|
|
766
|
+
assert catalog.status("patcheval").installable
|
|
767
|
+
catalog.install("patcheval")
|
|
768
|
+
assert len(seen) == 8
|
|
769
|
+
marker = (cache / "patcheval" / "pilot-20" / _COMPLETE).read_text()
|
|
770
|
+
assert marker == _HF_REVISION + "\n"
|
|
771
|
+
|
|
747
772
|
|
|
748
773
|
def test_patcheval_rejects_paths_outside_its_cache(cache, monkeypatch):
|
|
749
774
|
monkeypatch.delenv("BENCHKIT_PATCHEVAL_DATASET", raising=False)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/backport-release-stack/setup.sh
RENAMED
|
File without changes
|
{benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/backport-release-stack/verify.sh
RENAMED
|
File without changes
|
{benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/bisect-the-regression/setup.sh
RENAMED
|
File without changes
|
{benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/bisect-the-regression/verify.sh
RENAMED
|
File without changes
|
{benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/rebase-conflict-chain/setup.sh
RENAMED
|
File without changes
|
{benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/rebase-conflict-chain/verify.sh
RENAMED
|
File without changes
|
{benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/recover-complex-stash/setup.sh
RENAMED
|
File without changes
|
{benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/recover-complex-stash/verify.sh
RENAMED
|
File without changes
|
{benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/recover-lost-work/setup.sh
RENAMED
|
File without changes
|
{benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/recover-lost-work/verify.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/secret-in-history/README.md
RENAMED
|
File without changes
|
{benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/secret-in-history/setup.sh
RENAMED
|
File without changes
|
{benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/secret-in-history/verify.sh
RENAMED
|
File without changes
|
{benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/split-the-mega-commit/setup.sh
RENAMED
|
File without changes
|
{benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/src/benchkit/git_surgery/split-the-mega-commit/verify.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{benchkit_cli-0.2.0 → benchkit_cli-0.2.1}/tests/test_medfailbench_real_outputs_escalation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|