This run measures Ork Meter for Claude Code 0.5.9, the public release, with its token optimizations on against the same build with them off, on heavy, long, multi-turn coding sessions. Every session ran in its own virtual machine. The plan, validity rules and analysis were written and fixed by hash before the first pair ran: the pre-registration's SHA-256 is a208f7eebc59e95aeee07704a6fa133110056b5fb0d680eb0ea07c06aa5364c2. One amendment, written before any result was read, ended the run after its first round (see Pairs). The run took place from 2026-11-07 19:15 to 2026-11-08 10:48 (US Mountain time).
Pins
- Model
claude-opus-5-5at medium effort in every arm. A record with any other effort makes its pair invalid. - Claude Code 2.1.316 (Linux arm64 build), with auto-update disabled, checked on every attempt.
- Plugin 0.5.9 from its public GitHub release: tag
v0.5.9ofEDOS-Engineering/ork-meter-claude, commit9bad26a48e843aa88b2020121b9fc3c0f4a4c442, assetork-meter-claude-plugin-0.5.9.zip(SHA-256b574450cecfcd0ebcb5d39ab626077807ac76413be67fc8c8181083f5e77cb95). The tested tree equals the zip byte for byte, and its hash was checked inside the virtual machine on every attempt. - One Python interpreter for the agent, the hooks and the graders, the same build inside and outside the virtual machines.
- Each suite's task set was frozen before the run and checked by hash at the start.
Arms
| Arm | Configuration |
|---|---|
| OFF | Plugin 0.5.9 loaded, optimizations off (ORK_METER_MODE=off) |
| ON | Plugin 0.5.9 loaded, shipping defaults (ORK_METER_MODE=reduce, no lever settings) |
| A/A | OFF against OFF, to measure noise |
Every arm also turns off the first-run account connection. It is not a token lever, and it is the same in all arms. The run used the plugin's built-in lever defaults.
Before each attempt, a check with no model call fed the trim hook an oversized test log inside the virtual machine. ON had to return a smaller output that kept the failing line, and OFF and A/A had to return none.
Isolation
Every Claude Code session ran in its own fresh virtual machine, cloned from a verified image and deleted after the attempt. Its only network was an allowlist to the Claude API. Nothing on the host was shared or mounted into it: the workspace and the plugin were copied in, and the work was copied out. The graders, hidden tests and task sets never entered a virtual machine; grading ran outside, on the copied-out workspace. The image's files were checked against its manifest when each machine started and again at the end. One pair, two machines, ran at a time.
Pairs
- Each pair runs one task twice at the same time, one attempt per arm, each in its own virtual machine.
- The queue is seeded (seed 20261192). Launch order, a 0 to 500 ms start jitter and the slot are randomized per pair.
- Round r holds repetition r of every stream. The plan had 58 pairs in two rounds, with a stop on the seven-day usage window. Amendment A1, written before any result was read, ended the run after round 1 to keep usage in reserve: 42 pairs. The pre-registration names round 1 as the set that is analysed if the run stops early.
- One pair did not run. The run halted overnight from 21:20 to 04:38 when the session's sign-in expired, and the S1 A/A pair due to start then (
iterative-check) was never launched. It is listed in the results; nothing else is excluded.
A pair is invalid if either attempt has incomplete usage data, a different model, effort or CLI version, a change to the plugin tree or the machine image, a failed pre-attempt check, a session-limit stop, a network command (S6), a hit on the answer-isolation check (S6), or different inputs from its partner.
Measures
- Primary: S6 non-cached tokens (input + cache creation + output). The change is the sum over valid pairs of ON divided by the sum of OFF, minus 1. A negative change means ON used fewer.
- Interval: 95% bootstrap, 10,000 resamples, seed 202, stratified by task. With one A/A pair per task, the A/A interval uses an unstratified pair bootstrap, as pre-registered.
- Also reported: per-pair median, share of pairs lower, within-task sign-flip p, total and cached tokens, a cost estimate, wall time, turns, per task and per-lever activity.
- Quality: the pass rate per arm. Exact McNemar test, and non-inferiority at −5 points (the lower bound of the paired 95% interval must be above −5).
- Lever activity: an ON session is lever-fired if the plugin recorded at least one savings event. Inert sessions are counted apart and are not savings.
A/A gate
The gate applies to S6 and to the S1 lever tasks. A suite fails when its A/A non-cached interval excludes zero by more than 3 points. A suite that fails is reported with the failure and is not headlined until the failure is explained.
Load
The test machine is shared. The 1-minute load average at the start of S6 attempts averaged 99 (highest 325), and at the start of S1 attempts 46 (highest 116).
Budget
The only budget rule was the seven-day usage window: no new pair would start once it read 0.97 or more. It read 0.72 at the first reading and 0.88 at the last. The run used an estimated $372.74 of Claude Code usage over 82 attempts.