Skip to content

Score with uv on Python 3.12; document every setting the scripts use - #17

Merged
svemyh merged 2 commits into
mainfrom
harden-for-third-parties
Nov 1, 2026
Merged

svemyh merged 2 commits into
mainfrom
harden-for-third-parties

Conversation

@svemyh

@svemyh svemyh commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

Makes the runner and scorer work for an outside team on a stock machine.

Bug fixed: on macOS, python3 is 3.9. score.py (str | None) and screening/screen.py (tomllib) crash on it, and run.sh swallows the crash with || true, so a multi-hour run ends with no score and no error. Both now carry a PEP 723 header (requires-python >= 3.12, no dependencies) and the scripts call uv run, which uv users already have.

Docs: the scripts say "see README.md" for keys the README never mentioned. The README now has a one-task quick start (the old one launched all 113 tasks), the cloud extras in the install line (the default run.sh env is e2b), a table of every key and setting, how to score/rescore, and troubleshooting by API error code.

Smaller: stale runtime/reason-v7-2026-10 / >=0.3.19 hints in run.sh/run-pass.sh; run-pass.sh built its Modal app name from the caller's bench (shellcheck SC2318, worked only by dynamic scope); CI runs shellcheck; methodology history order.

Verification

  • uv run --python 3.12 python -m unittest discover tests: 22 pass; shellcheck -S warning: clean.
  • README quick start run verbatim (--n-tasks 1) from a fresh uv tool install on an arm64 Mac with Docker, in Reason Tests: see the PR comment for the result.
  • run.sh validation paths (missing key, bad EFFORT, missing grader key) exit with their messages.

🤖 Generated with Claude Code

Sven Myhre and others added 2 commits November 1, 2026 15:04
- score.py and screening/screen.py declare Python 3.12 (PEP 723) and run.sh
  and run-pass.sh call them through `uv run`. macOS's python3 is 3.9, which
  crashed both after a run, and run.sh hid the failure with `|| true`.
- README: one-task quick start, cloud extras in the install line, a table of
  every key and setting the scripts ask for, scoring and troubleshooting.
- run.sh and run-pass.sh name the current default release and adapter
  0.3.43 in their hints, and check for uv up front.
- run-pass.sh: `app` was built from the caller's `bench`, not its own.
- CI runs shellcheck; methodology history lists 1.8.2 before 1.8.3.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@svemyh

svemyh commented Nov 1, 2026

Copy link
Copy Markdown
Contributor Author

End-to-end result of the README quick start, run verbatim plus --n-tasks 1, reasoning_effort=low, from a fresh uv tool install on an arm64 Mac with Docker, in Reason Tests:

  • 1 DeepSWE task (kcp-go-multiplexed-kcp-streams, offline), 10m40s. The worker started, the Session ran (adapter 0.3.43, runtime/reason-agent-1.3, CLI 0.2.625), and the verifier graded it: reward 0, 13/30 f2p, 12/12 p2p. That is a model result, not an error.
  • uv run score.py and uv run screening/screen.py from this branch scored it: trajectory fidelity complete, token usage complete, priced $0.005.
  • The default DockerEnvironment (no --env, no DOCKER_DEFAULT_PLATFORM) works on arm64, so the quick start doesn't need either.

@svemyh
svemyh merged commit de9a8b1 into main Nov 1, 2026
4 checks passed
@svemyh
svemyh deleted the harden-for-third-parties branch November 1, 2026 23:11
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.

1 participant