v1.3.1 — fast jury steps down to high reasoning
Steps the default fast jury down one level. Both jurors now run the same tier.
| before | after | |
|---|---|---|
| GPT-5.6 Luna (Codex/OpenAI) | max |
high |
| DeepSeek V4 Flash (opencode/Fireworks) | high |
high |
Measured effect
Same PR, same model, only the reasoning effort differs:
| Luna | input | output | cost |
|---|---|---|---|
max |
7.8M | 65.3k | $0.37 |
high |
1.7M | 22.0k | $0.11 |
4.6× fewer input tokens, 70% cheaper. Since Luna dominated the bill, a two-model fast review drops from roughly $0.45 to $0.19 — about 58% off.
For a repo running Juror on 37 PRs a weekday with reviews re-firing on each push, that is roughly $33 → $14 a weekday, or **$740 → ~$310 a month**.
This is a single-PR measurement, not an adjudicated quality comparison. Findings were still produced at high; whether the deeper max pass was catching defects high misses is a separate question that needs a proper corpus. If you want maximum depth, --preset high or ultra are unchanged.
The 1800s timeout stays
Deliberate. It is a kill switch for a hung harness, not a latency target — a faster jury finishing well inside it costs nothing extra. Tightening it would re-introduce the v1.2.0 failure where a slow model is killed at the finish line and silently publishes nothing.
Also fixed
A test had quietly gone vacuous. hands out an independent copy each call mutates reasoning_effort to max to prove defaultConfig() returns an independent object — but when the default itself became max in v1.2.0, the mutation stopped differing from the default and the assertion could no longer fail. Moving the default to high restores the contrast it was written to check.
Full changelog: v1.3.0...v1.3.1