How a robot earns its place on the board, and what the numbers on it do not mean.
Every rule stated here is read from the code that enforces it. This page cannot drift from the engine.
A robot is 11 numbers and switches — a genome. Nothing you send is ever executed. The engine validates each gene against its allowed range and refuses the submission if any falls outside. This is why the lab can accept robots from strangers.
The search only ever sees the first 75% of the pinned history. The last 25% is held out, and that held-out slice — and only it — produces the number you see on the leaderboard. A robot that memorised the past scores nothing here.
Chronological, never shuffled. The held-out slice is the most recent quarter of history, so a robot is judged on time it never saw.
One good window can be luck. The robot is re-run across 5 consecutive walk-forward windows, and the fraction it wins becomes its robustness score. A genuine edge holds across regimes; a fluke wins one window and collapses. Both numbers are shown. Neither is hidden.
0.4 won two windows of five — the leaderboard says so.Winning by luck is still winning. A robot with an enormous profit and a frightening drawdown stays on the board, next to the steadier ones, with its drawdown printed in full. We classify. We do not hide, and we do not delete.
| steady | Steady (DD <= 10%) |
| balanced | Balanced (DD 10-25%) |
| wild | Wild (DD 25-50%) |
| extreme | Extreme (DD > 50%) |
Spread and slippage are charged on entry and on exit. A strategy that only works with free trading does not work.
25.0 points · slippage 5.0 points charged on entry and exit · commission 0.0 per unitIf tomorrow's bar changed the dataset, every proof issued today would stop verifying tomorrow. So the history is pinned to a fixed window that has already ended, with an expected bar count and a checksum. The loader recomputes the checksum and refuses to score anything on data that does not match.
gold-daily-v1 · 2016-07-05 → 2026-06-30 · 2510 barsSame pinned dataset, same engine, same cost model, same genome, same result — and the same anchor hash. A regression guard runs the whole chain on every commit and fails loudly if any scoring rule moves, because a silent change would break every proof ever issued.
--check-reproducibility re-scores a frozen genome and asserts the exact anchor hash. It exits non-zero on drift.This matters more than anything above.