v1.2.1 — raise the per-model timeout wall
Patch release closing the known issue shipped with v1.2.0.
Fixed: the default jury could lose a model at the finish line
v1.2.0 moved the default fast jury to GPT-5.6 Luna at max reasoning without moving the wall that kills it. per_model_timeout_seconds stayed at 900s, a value sized for low.
Measured across a 10-PR benchmark:
| Luna wall-clock | Result |
|---|---|
| 900s | killed, published nothing from that model |
| 813s | 90% of the wall |
| 751s | 83% of the wall |
One hard failure in ten, two near-misses. The worst part was the failure mode: the review completed, reported success, and silently missed half its jury.
per_model_timeout_seconds now defaults to 1800.
This value is a kill switch for a hung harness, not a latency target. A run that finishes early costs nothing extra — models bill for what they consume, and each still stops at the first of its own timeout_seconds override or your budget ceiling. Doubling the wall does not make any review slower. It only stops a legitimate slow run from being destroyed just before it returns.
The old behaviour is one line away:
review:
per_model_timeout_seconds: 900Applies to all four presets, which is deliberate — balanced runs Terra at max and ultra runs seven models including three Codex ones, so they sat under the same wall.
Upgrading
uses: juror-ai/juror@v1 picks this up with no change. If you pinned @v1.2.0, move to @v1.2.1 — and if you are still on v1.0.x or v1.1.0, upgrade regardless: those releases could not authenticate any OpenAI model at all (fixed in v1.2.0).
Full changelog: v1.2.0...v1.2.1