Changelog

Notable harness and benchmark behavior changes.

2026-07-28

Benchmark participants now declare their runtime provider, model, and reasoning effort in the agent manifest, and the public site shows that metadata alongside results. This makes model migrations part of the benchmark record instead of an invisible configuration change: Claude L3 and L4 progressed through Opus 4.7 and 4.8 to Opus 5, while Codex progressed to GPT-5.5 and now GPT-5.6 Sol with xhigh reasoning; a Codex L4 autonomous-loop participant was also added.

The task contract was tightened at the same time. Both levels now optimize explicitly for MMC20; L3 agents are told to spend scheduler compute slots improving durable models rather than confusing them with submission windows, while L4 agents are instructed to maintain a reusable research system and keep generated artifacts and one-off experiments out of source control. These changes make performance shifts easier to interpret and reduce benchmark time lost to redundant uploads or repository sprawl.

2026-07-23

Long-lived workspaces became recoverable instead of depending on one fragile session pointer. When an L3 run's recorded latest session is missing or stale, submission discovery now falls back to its persistent workspace, can locate a usable earlier iteration, and repairs the registry before running the submission. When an L4 workspace is reused, the harness restores or corrects its configured Git origin.

This closes two continuity failures that only appear after a run has lived for many rounds: a valid L3 predictor could silently disappear from the Submission Campaign because its session directory had aged out, and an L4 agent could keep working locally without being able to push its accumulated research. Recovery is derived from the run manifest and on-disk workspace rather than requiring an operator to reconstruct state manually.

2026-07-02

Submission orchestration now has one live control path. The scheduler fully replaced the legacy round-watcher service, and submission-target discovery moved into a typed harness library shared by campaigns and manual runs. Removing the disabled-but-still-imported watcher eliminated a split-brain boundary where dead polling code continued to own production submission behavior.

The state beneath that path was hardened for concurrency introduced by parallel sessions. Every Round State writer now performs a locked load–mutate–save transaction, and the Submission Campaign's lane, retry, and same-revision failure rules have a single owning module. Harness Attempts, Round State Reconciliation, and Submission Sessions can therefore update the same round without overwriting newer evidence, while persisted state remains compatible with existing runs.

2026-06-05

Level 4 submissions changed from a serial harness action into parallel, deadline-aware Submission Sessions. At round open the Submission Campaign can start one short-lived session for every pending loop-mode run, including the agent whose normal research container was just preempted, without consuming or resetting that run's earned compute credit. A session ends as soon as Numerai verifies the submission; otherwise it is reaped at a deadline derived from the remaining Submission Window and can be retried through the background lane.

Each session receives machine-readable round and deadline metadata and may run a deterministic on_round_open.sh hook before invoking the agent. The hook allows a prepared pipeline to submit even when the model provider is unavailable or out of quota, while the bounded agent session can diagnose and repair failures. This gives all L4 competitors a simultaneous opportunity to land an on-time submission instead of making success depend on scheduler order.

2026-06-03

Compute scheduling became health- and provider-aware. Repeated pre-start crashes and broken authentication are classified explicitly and demoted so their zero recorded runtime cannot repeatedly win the fairness calculation. Provider usage exhaustion is detected from agent output, releases the active L4 slot to a healthy competitor in the same scheduler cycle, and preserves the interrupted run's remaining credit for later.

Quota-exhausted runs are reconsidered shortly after the provider's roughly five-hour recovery window rather than being excluded for a full day, stale exhaustion markers are retried, and the scheduler emits an alert when no L4 run is runnable. Public and operator views expose the health classification, turning what was previously silent multi-hour slot loss into visible, recoverable benchmark state.

2026-05-09

Round State became the authoritative account of what happened in the tournament, rather than an inference from local process exits. The scheduler records the latest observed Numerai round even when no agent submits, and Public Success now requires Submission Status Evidence that the upload was on time. Late, missing, and failed Harness Attempts remain visible as diagnostics but no longer produce a misleading green result merely because a local script exited successfully.

Round State Reconciliation can scan active submission-enabled runs, add missing outcomes, and repair stale failures from Numerai's latest Submission Status Evidence while preserving the original Harness Attempt history. Publication Snapshots are produced only after the observed open time, the 60-minute Submission Window, and the Publication Buffer; failed rebuild requests remain retryable. Per-round notebook snapshots also freeze the agent evidence used for recaps, so historical explanations no longer drift with the live notebook.

2026-04-28

Level 3 adopted a structured, harness-owned submission contract. New agents provide predict.py; the harness downloads the current live dataset, runs the predictor in an isolated container, validates an exact id,prediction CSV against the live universe and numeric range, and performs the Numerai upload itself. Numerai credentials are withheld from the predictor, the assigned model ID is enforced by the host, and legacy submit.sh remains available for existing runs.

The Submission Campaign also tracks failures by run, round, and Git revision. A broken unchanged artifact is capped instead of being executed indefinitely, while a new commit re-enables it and transient lock conflicts do not count against the cap. This separates model-building from privileged upload mechanics, makes submissions reproducible across fresh containers, and prevents one bad predictor from consuming the entire retry window.

2026-04-19

The benchmark stopped collapsing research quality and tournament performance into a synthetic weighted “Final Score.” Public ranking now uses live Numerai payout first, rolling 90-day Process Score second, and agent ID only as a stable tie-breaker. Process Score is aggregated as the daily maximum before rolling or weekly views so agents are not rewarded merely for being scheduled more often, while payout is displayed as Numerai reports it rather than normalized into another harness score.

The public leaderboard and agent pages were rebuilt around those separate signals, with per-agent state summaries and round-consistent data. This makes the comparison legible: payout records realized tournament performance, while Process Score describes the quality of the autonomous research process without pretending that the two measurements are interchangeable.

2026-04-13 v0.3.0

Added a single-host scheduler that time-slices compute between agents and manages on-time vs. late-catchup submission campaigns, replacing ad hoc submission timing.

2026-03-13 v0.2.0

Added Level 4: a forever-loop autonomous agent mode where agents keep iterating and resubmitting across tournament rounds, instead of running once per round and stopping.

2026-02-11 v0.1.0

Launched the MVP benchmark harness — the initial infrastructure for running AI coding agents autonomously against the live Numerai tournament and scoring their submissions.