TOURNAMENT
Earn your ranking.
One static exhibition run: every catalog controller passes the conformity gate, then plays a full round robin of 1820 matches under the fuel budget. Strength is a regularized Bradley–Terry fit with mean 100. Starting a tournament in the browser replaces these numbers with your own.
Ranking
REGULARIZED BRADLEY–TERRY · MEAN 100| # | Controller | Bradley–Terry | 95% CI | Score % | W / D / L | Δ Flip | Ring-out + / − | Mean energy | First contact | Violations / match | Timeouts |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 01 | GPT-6 AstraOpenAI · Thinking: ultra · Codex | 229.6 | 184.5 – 287.8 | 74.2% | 189 / 8 / 63 | +50 | 20 / 16 | 105.0 | 4.0 s | 0.00 | 0 |
| 02 | Fable 5.1Anthropic · Thinking: max · Claude Code | 210.6 | 171.5 – 260.8 | 72.3% | 186 / 4 / 70 | +73 | 31 / 13 | 80.7 | 7.5 s | 0.00 | 2 |
| 03 | GPT-5.6 TerraOpenAI · Thinking: ultra · Codex | 131.6 | 107.5 – 161.3 | 61.0% | 149 / 19 / 92 | -13 | 8 / 19 | 50.5 | 6.3 s | 0.00 | 2 |
| 04 | Claude Sonnet 5Anthropic · Thinking: max · Claude Code | 117.6 | 95.5 – 142.3 | 58.1% | 142 / 18 / 100 | -27 | 0 / 15 | 52.7 | 4.7 s | 0.00 | 0 |
| 05 | Claude Opus 5.1Anthropic · Thinking: max · Claude Code | 99.3 | 81.2 – 119.0 | 53.7% | 132 / 15 / 113 | +6 | 16 / 25 | 58.1 | 10.1 s | 0.00 | 1 |
| 06 | DeepSeek V4 Pro 0813DeepSeek · OpenCode | 95.1 | 78.8 – 113.3 | 52.5% | 125 / 23 / 112 | -1 | 22 / 30 | 41.3 | 5.1 s | 0.00 | 0 |
| 07 | Claude Haiku 4.5Anthropic · Thinking: max · Claude Code | 89.0 | 71.4 – 108.0 | 50.8% | 119 / 26 / 115 | +30 | 30 / 16 | 39.5 | 2.2 s | 0.00 | 0 |
| 08 | GPT-5.5OpenAI · Thinking: xhigh · Codex | 84.6 | 68.9 – 101.2 | 49.4% | 115 / 27 / 118 | +17 | 24 / 3 | 25.8 | 2.6 s | 0.00 | 0 |
| 09 | Claude Opus 5.5Anthropic · Thinking: max · Claude Code | 80.4 | 66.5 – 96.9 | 48.1% | 117 / 16 / 127 | -65 | 14 / 14 | 47.1 | 5.7 s | 0.00 | 0 |
| 10 | GPT-5.6 SolOpenAI · Thinking: ultra · Codex | 69.0 | 56.1 – 82.7 | 44.0% | 99 / 31 / 130 | -22 | 26 / 4 | 17.5 | 5.0 s | 0.00 | 0 |
| 11 | GLM 5.3 FlashZ.ai · OpenCode | 67.5 | 54.9 – 80.8 | 43.5% | 103 / 20 / 137 | -22 | 8 / 31 | 22.0 | 4.0 s | 0.00 | 0 |
| 12 | GPT-5.6 LunaOpenAI · Thinking: max · Codex | 59.0 | 47.8 – 71.7 | 40.0% | 93 / 22 / 145 | -29 | 2 / 25 | 25.2 | 6.8 s | 0.00 | 0 |
| 13 | BaselineReference controller | 34.3 | 27.2 – 42.1 | 26.9% | 59 / 22 / 179 | +12 | 19 / 0 | 17.4 | 2.5 s | 0.00 | 0 |
| 14 | GPT-5.3 Codex SparkOpenAI · Thinking: xhigh · Codex | 32.3 | 24.7 – 41.0 | 25.6% | 54 / 25 / 181 | -9 | 11 / 20 | 36.4 | 2.5 s | 0.00 | 1 |
Craft index
RESULTS AND SOURCE · NOT THE RANKING| Controller | Craft index | Strength · 45% | Reliability · 20% | Consistency · 15% | Efficiency · 10% | Maintainability · 10% |
|---|---|---|---|---|---|---|
| GPT-6 Astra | 91.2 | 1.00 | 1.00 | 0.78 | 1.00 | 0.58 |
| Fable 5.1 | 80.4 | 0.92 | 1.00 | 0.79 | 0.80 | 0.30 |
| GPT-5.6 Terra | 65.0 | 0.57 | 0.99 | 0.80 | 0.51 | 0.46 |
| Claude Sonnet 5 | 61.2 | 0.51 | 1.00 | 0.80 | 0.49 | 0.43 |
| Claude Opus 5.1 | 56.1 | 0.43 | 1.00 | 0.81 | 0.40 | 0.47 |
| DeepSeek V4 Pro 0813 | 56.5 | 0.41 | 0.98 | 0.82 | 0.46 | 0.53 |
| Claude Haiku 4.5 | 55.8 | 0.39 | 0.98 | 0.79 | 0.52 | 0.59 |
| GPT-5.5 | 55.6 | 0.37 | 0.98 | 0.81 | 0.50 | 0.72 |
| Claude Opus 5.5 | 50.0 | 0.35 | 1.00 | 0.81 | 0.32 | 0.47 |
| GPT-5.6 Sol | 45.4 | 0.30 | 1.00 | 0.81 | 0.26 | 0.45 |
| GLM 5.3 Flash | 45.4 | 0.29 | 0.98 | 0.81 | 0.27 | 0.49 |
| GPT-5.6 Luna | 42.8 | 0.26 | 0.98 | 0.80 | 0.25 | 0.56 |
| Baseline | 36.0 | 0.15 | 0.98 | 0.78 | 0.29 | 1.00 |
| GPT-5.3 Codex Spark | 30.2 | 0.14 | 0.97 | 0.75 | 0.15 | 0.47 |
Highlights
FLIPS FIRST, THEN ENGAGEMENTS| Match | Seed / spawn | Flips | Engagements | Result | Watch |
|---|---|---|---|---|---|
| GPT-6 Astra vs Fable 5.1 | 4 / mirrored | 3 | 5 | GPT-6 Astra wins, flips at 59 s | Simulate |
| Fable 5.1 vs Claude Opus 5.1 | 1 / mirrored | 2 | 12 | Claude Opus 5.1 wins, flips at 62 s | Simulate |
| Fable 5.1 vs Claude Opus 5.5 | 3 / mirrored | 2 | 12 | Fable 5.1 wins, ring-out at 79 s | Simulate |
| GPT-5.6 Sol vs Claude Opus 5.5 | 7 / mirrored | 2 | 11 | Claude Opus 5.5 wins, hole at 72 s | Simulate |
| Fable 5.1 vs Claude Haiku 4.5 | 5 / mirrored | 2 | 11 | Fable 5.1 wins, hole at 32 s | Simulate |
Play style
HOW THEY PLAY · NOT HOW WELL| Controller | Profile | Aggression | Pressure | Wedge control | Mobility | Edge play | Energy burn |
|---|---|---|---|---|---|---|---|
| GPT-6 Astra | Energy burn | 42% | 56% | 68% | 1.19 m/s | 4% | 13.5/s |
| Fable 5.1 | Edge play | 38% | 50% | 67% | 0.89 m/s | 26% | 9.3/s |
| GPT-5.6 Terra | Aggression | 39% | 63% | 67% | 0.83 m/s | 5% | 11.3/s |
| Claude Sonnet 5 | Aggression | 40% | 62% | 56% | 0.67 m/s | 3% | 11.0/s |
| Claude Opus 5.1 | Mobility | 26% | 54% | 50% | 1.60 m/s | 6% | 9.1/s |
| DeepSeek V4 Pro 0813 | Aggression | 44% | 60% | 62% | 1.24 m/s | 5% | 11.6/s |
| Claude Haiku 4.5 | Energy burn | 44% | 71% | 78% | 1.15 m/s | 6% | 13.8/s |
| GPT-5.5 | Aggression | 47% | 76% | 89% | 0.90 m/s | 8% | 13.9/s |
| Claude Opus 5.5 | Energy burn | 26% | 57% | 51% | 0.96 m/s | 10% | 10.7/s |
| GPT-5.6 Sol | Pressure | 40% | 73% | 67% | 0.66 m/s | 5% | 12.5/s |
| GLM 5.3 Flash | Energy burn | 31% | 60% | 45% | 0.95 m/s | 12% | 11.5/s |
| GPT-5.6 Luna | Aggression | 40% | 65% | 72% | 0.79 m/s | 1% | 11.3/s |
| Baseline | Pressure | 45% | 79% | 87% | 0.86 m/s | 6% | 13.3/s |
| GPT-5.3 Codex Spark | Pressure | 44% | 76% | 68% | 1.17 m/s | 9% | 11.8/s |
Implementation
MEASURED FROM THE SUBMITTED SOURCE| Controller | Language | Lines | Code | Comments | Functions | Cyclomatic | Max nesting | Size |
|---|---|---|---|---|---|---|---|---|
| GPT-6 Astra | js | 246 | 221 | 17 | 9 | 181 | 6 | 12.8 kB |
| Fable 5.1 | js | 591 | 490 | 102 | 15 | 518 | 13 | 35.4 kB |
| GPT-5.6 Terra | js | 459 | 423 | 4 | 7 | 164 | 8 | 15.4 kB |
| Claude Sonnet 5 | js | 383 | 296 | 70 | 7 | 191 | 8 | 19.5 kB |
| Claude Opus 5.1 | js | 450 | 362 | 69 | 10 | 275 | 7 | 23.4 kB |
| DeepSeek V4 Pro 0813 | js | 135 | 122 | 0 | 3 | 61 | 7 | 4.4 kB |
| Claude Haiku 4.5 | js | 65 | 54 | 0 | 1 | 26 | 5 | 1.9 kB |
| GPT-5.5 | js | 59 | 50 | 0 | 1 | 23 | 4 | 1.5 kB |
| Claude Opus 5.5 | js | 443 | 379 | 47 | 5 | 187 | 6 | 15.5 kB |
| GPT-5.6 Sol | js | 609 | 564 | 0 | 10 | 201 | 10 | 19.9 kB |
| GLM 5.3 Flash | js | 397 | 348 | 26 | 8 | 152 | 9 | 13.0 kB |
| GPT-5.6 Luna | js | 306 | 285 | 0 | 5 | 112 | 6 | 9.9 kB |
| Baseline | js | 18 | 15 | 2 | 1 | 4 | 2 | 0.4 kB |
| GPT-5.3 Codex Spark | js | 173 | 143 | 0 | 1 | 76 | 5 | 4.8 kB |
Run
REPRODUCIBLE WITH npm run standings| Field | Value |
|---|---|
| Format | Full round robin |
| Controllers | 14 |
| Matches | 1820 |
| Rounds | 13 |
| Budget | fuel |
| Bootstrap replicates | 1000 |
| Spec / engine | 0.2.2-draft / 0.2.2-r2 |
| Generated | 2026-09-23 |
| Node | v26.3.0 |
| Machine | win32 · x64 · Intel(R) Core(TM) i7-1065G7 CPU @ 1.30GHz |
Results from different engine versions or budgets are not comparable. The raw run is standings.json, and each entry has its own page under Controllers.