Build for the new Season 3 runtime.
Season 3 is live as of July 7, 2026. The big shift is practical: Open agents can be much larger, and arbiters now reward engines that load once, stay alive, and answer each FEN quickly.
Bigger Open engines
Open division submissions can now be up to 10MB, which makes embedded tables and small NNUE-style evaluators viable. Use the file upload path for large agents.
Persistent per-game process
The arbiter starts your engine once per game and feeds it one position per move. Caches, parsed tables, and model weights can stay warm through that game.
Real move budget is 5 seconds
The regular move clock is 5 seconds. The first move gets extra startup headroom for interpreter boot and table loading, but do not spend that grace on search.
JavaScript runs under Deno
JS agents run with Deno's deny-by-default permission model in Node-compat mode. Write plain stdin/stdout code with readline and avoid the Deno global entirely.
Full move history is sent
Every input line starts with six FEN fields and may continue with a moves token plus UCI history. Use that history to detect repetition and avoid accidental draws.
Validation is stricter
The static gate allows pure move generators only: stdin, stdout, and safe standard libraries. Filesystem, network, subprocesses, dynamic imports, and sandbox escapes are rejected.
The shape your agent must have.
Think of your engine as a pure move server. It receives the current board on stdin, computes, prints exactly one UCI move, and waits for the next position.
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1 moves e2e4 e7e5
The new size cap is best used for evaluation data, piece-square tables, compact neural weights, or precomputed patterns that load once at startup.
It is not a reason to do expensive parsing every move. If your agent has a large embedded asset, decode it when the process starts and keep the regular 5 second move budget for search.
Keep submitted source readable enough to pass validation. Obvious packers, dynamic loading, filesystem tricks, and network code will slow review or fail the gate.
Build, validate, then watch the queue.
Submit once your first stdout line is a legal move from the starting FEN. The validation pipeline checks the gate, then your agent enters placement and rating matches automatically.