Model Kombat: what the telemetry says

A 12,000-neuron slice of the maleCNS connectome fights a language model in mk.js. Every match writes a JSON file; this page is generated from all of them by scripts/report_telemetry.py. Generated 18 September 2026.

140matches
433rounds
3,645logged decisions
5.5damage per hitreal wiring, curriculum vs rule bot
2.3damage per hitrewired control, same curriculum

The competitors

A match is always one fly against one opponent, and neither side is a single thing. On the fly's side what changes is how much the brain is allowed to change, and whether the wiring is the real one. On the other side what changes is where the decisions come from. Everything below is a record of one of these against one of those.

The fly brains

all of them the same 12,000 neurons of maleCNS, differing only in how they learn

Wired (no learning)
The connectome as mapped, with learning switched off. What the fly does is whatever the wiring does: senses drive motor pools, the busiest pool picks the move, nothing changes.
In-match learning
The same brain, with a dopamine-like rule switched on for one match. Landing a hit strengthens whatever just fired; taking one weakens it. It starts over every match.
In-match learning + baseline
The same, except each move is judged against its own recent average instead of against zero. Without this a losing fly suppresses everything it tries, including the moves that work.
Curriculum
A run of eight matches where each one starts from the best brain saved so far, so what one match learns is still there in the next.
Curriculum + thresholds
A curriculum that also learns how certain a motor pool must be before it is allowed to act — patience as something learned rather than set by us.
Reloaded brain
A brain that finished a curriculum against one opponent, entered cold against a different one. It learns nothing new on the way in; it simply arrives trained.
Rewired control
The null model. Same neurons, same number of connections into and out of each one, same transmitter signs, same synapse weights — only which neuron connects to which is shuffled.

The opponents

all of them answering on the same state, differing in what does the answering

Rule bot
Five lines of hand-written positional rules: close the distance, strike when in range, otherwise block. No model, no learning.
Jev API
TypeSafe's System One model, reading the fight as JSON and returning one typed move with probabilities, about five times a second.
Local policy
168 weights fitted to Jev's own probabilities — the same judgment, answered in microseconds instead of a network round trip.
Hybrid
The local policy moving at the fly's speed while Jev corrects it live, and each correction trains the policy further.

Standings

Rounds, counted from each competitor's own point of view. Every fly has now met every opponent, so the win rates are comparable — but the rounds behind them are not evenly spread, and a fly that spent most of its rounds against the rule bot is not the same as one that spent them against the hybrid. The grid below is where that shows.

WonDrawnLost
CompetitorRoundsWDLWin rateDamage / sRecord
Reloaded brain fly brain503801276%5.84
Curriculum + thresholds fly brain8645162552%4.78
Rewired control fly brain5325111747%2.16
Curriculum fly brain14066136147%3.79
In-match learning fly brain18601233%2.89
In-match learning + baseline fly brain21701433%3.80
Wired (no learning) fly brain65805712%3.24
Hybrid opponent11262272355%5.17
Jev API opponent914814253%5.06
Local policy opponent13569125451%5.00
Rule bot opponent951907620%2.52

Who actually played whom

Every competitor against every other. The big number is the share of rounds the fly won; under it, the record as rounds won–drawn–lost. Read down a column to see what the fly's learning setup is worth against a fixed opponent; read across a row to see how far that setup carries. The tint is rounds won minus rounds lost, so a cell full of draws sits near level even when its win rate reads zero. The wiring alone loses to the whole field; a brain carried in from an earlier curriculum is the only fly with a winning record against all four.

Fly ahead on roundsLevelFly behind
Rule botJev APILocal policyHybridWired (no learning)Wired (no learning) vs Rule bot: won 46% of 13 rounds — 6 won, 0 drawn, 7 lost46%6–0–7Wired (no learning) vs Jev API: won 12% of 16 rounds — 2 won, 0 drawn, 14 lost12%2–0–14Wired (no learning) vs Local policy: won 0% of 16 rounds — 0 won, 0 drawn, 16 lost0%0–0–16Wired (no learning) vs Hybrid: won 0% of 20 rounds — 0 won, 0 drawn, 20 lost0%0–0–20In-match learningIn-match learning vs Rule bot: won 0% of 4 rounds — 0 won, 0 drawn, 4 lost0%0–0–4In-match learning vs Jev API: won 67% of 6 rounds — 4 won, 0 drawn, 2 lost67%4–0–2In-match learning vs Local policy: won 50% of 4 rounds — 2 won, 0 drawn, 2 lost50%2–0–2In-match learning vs Hybrid: won 0% of 4 rounds — 0 won, 0 drawn, 4 lost0%0–0–4In-match learning + baselineIn-match learning + baseline vs Rule bot: won 29% of 7 rounds — 2 won, 0 drawn, 5 lost29%2–0–5In-match learning + baseline vs Jev API: won 60% of 5 rounds — 3 won, 0 drawn, 2 lost60%3–0–2In-match learning + baseline vs Local policy: won 40% of 5 rounds — 2 won, 0 drawn, 3 lost40%2–0–3In-match learning + baseline vs Hybrid: won 0% of 4 rounds — 0 won, 0 drawn, 4 lost0%0–0–4CurriculumCurriculum vs Rule bot: won 94% of 17 rounds — 16 won, 0 drawn, 1 lost94%16–0–1Curriculum vs Jev API: won 100% of 24 rounds — 24 won, 0 drawn, 0 lost100%24–0–0Curriculum vs Local policy: won 35% of 75 rounds — 26 won, 6 drawn, 43 lost35%26–6–43Curriculum vs Hybrid: won 0% of 24 rounds — 0 won, 7 drawn, 17 lost0%0–7–17Curriculum + thresholdsCurriculum + thresholds vs Rule bot: won 96% of 24 rounds — 23 won, 0 drawn, 1 lost96%23–0–1Curriculum + thresholds vs Jev API: won 20% of 20 rounds — 4 won, 0 drawn, 16 lost20%4–0–16Curriculum + thresholds vs Local policy: won 100% of 18 rounds — 18 won, 0 drawn, 0 lost100%18–0–0Curriculum + thresholds vs Hybrid: won 0% of 24 rounds — 0 won, 16 drawn, 8 lost0%0–16–8Reloaded brainReloaded brain vs Rule bot: won 100% of 6 rounds — 6 won, 0 drawn, 0 lost100%6–0–0Reloaded brain vs Jev API: won 56% of 9 rounds — 5 won, 0 drawn, 4 lost56%5–0–4Reloaded brain vs Local policy: won 100% of 6 rounds — 6 won, 0 drawn, 0 lost100%6–0–0Reloaded brain vs Hybrid: won 72% of 29 rounds — 21 won, 0 drawn, 8 lost72%21–0–8Rewired controlRewired control vs Rule bot: won 96% of 24 rounds — 23 won, 0 drawn, 1 lost96%23–0–1Rewired control vs Jev API: won 0% of 11 rounds — 0 won, 1 drawn, 10 lost0%0–1–10Rewired control vs Local policy: won 0% of 11 rounds — 0 won, 6 drawn, 5 lost0%0–6–5Rewired control vs Hybrid: won 29% of 7 rounds — 2 won, 4 drawn, 1 lost29%2–4–1
Table: every match-up
Fly brainOpponentWin rateWonDrawnLost
Wired (no learning)Jev API12%2014
Wired (no learning)Hybrid0%0020
Wired (no learning)Local policy0%0016
Wired (no learning)Rule bot46%607
In-match learningJev API67%402
In-match learningHybrid0%004
In-match learningLocal policy50%202
In-match learningRule bot0%004
In-match learning + baselineJev API60%302
In-match learning + baselineHybrid0%004
In-match learning + baselineLocal policy40%203
In-match learning + baselineRule bot29%205
CurriculumJev API100%2400
CurriculumHybrid0%0717
CurriculumLocal policy35%26643
CurriculumRule bot94%1601
Curriculum + thresholdsJev API20%4016
Curriculum + thresholdsHybrid0%0168
Curriculum + thresholdsLocal policy100%1800
Curriculum + thresholdsRule bot96%2301
Reloaded brainJev API56%504
Reloaded brainHybrid72%2108
Reloaded brainLocal policy100%600
Reloaded brainRule bot100%600
Rewired controlJev API0%0110
Rewired controlHybrid29%241
Rewired controlLocal policy0%065
Rewired controlRule bot96%2301

The fly learns, against every opponent but one

Damage dealt per second by the fly, averaged over each generation's rounds. Each generation inherits the best brain saved so far and keeps learning. Against the hybrid — the local policy moving at the fly's own speed with Jev correcting it live — learning from scratch converges on not fighting at all.

Rule botJev APILocal policyHybrid
02.34.616.919.2112345678fly damage / secondgenerationRule bot · 1: 6.04Rule bot · 2: 8.50Rule bot · 3: 8.38Rule bot · 4: 8.10Rule bot · 5: 8.53Rule bot · 6: 7.87Rule bot · 7: 8.46Rule bot · 8: 8.16Rule botJev API · 1: 6.14Jev API · 2: 7.16Jev API · 3: 8.15Jev API · 4: 6.93Jev API · 5: 6.34Jev API · 6: 7.01Jev API · 7: 7.03Jev API · 8: 6.90Jev APILocal policy · 1: 1.87Local policy · 2: 2.90Local policy · 3: 2.98Local policy · 4: 2.95Local policy · 5: 2.83Local policy · 6: 2.93Local policy · 7: 4.16Local policy · 8: 2.93Local policyHybrid · 1: 1.87Hybrid · 2: 0.00Hybrid · 3: 0.00Hybrid · 4: 0.00Hybrid · 5: 0.00Hybrid · 6: 0.00Hybrid · 7: 0.00Hybrid · 8: 0.00Hybrid
Table: fly damage per second by generation
Opponentgen 1gen 2gen 3gen 4gen 5gen 6gen 7gen 8
Rule bot6.048.508.388.108.537.878.468.16
Jev API6.147.168.156.936.347.017.036.90
Local policy1.872.902.982.952.832.934.162.93
Hybrid1.870.000.000.000.000.000.000.00

Scrambling the connectome: still learns, stops landing clean hits

The control keeps every neuron, every in- and out-degree, every transmitter sign and every synapse weight, and shuffles only which neuron connects to which. It still learns to beat the rule bot — at 2.3 damage per landed hit against 5.5, which is what a blocked hit is worth.

Real connectomeRewired control
02.164.326.488.6412345678fly damage / secondgenerationReal connectome · 1: 6.76Real connectome · 2: 8.00Real connectome · 3: 7.42Real connectome · 4: 7.55Real connectome · 5: 7.56Real connectome · 6: 7.55Real connectome · 7: 7.94Real connectome · 8: 7.97Real connectomeRewired control · 1: 3.05Rewired control · 2: 3.80Rewired control · 3: 4.40Rewired control · 4: 4.16Rewired control · 5: 3.93Rewired control · 6: 3.90Rewired control · 7: 4.04Rewired control · 8: 3.84Rewired control
Table: real vs rewired, damage per second
Circuitgen 1gen 2gen 3gen 4gen 5gen 6gen 7gen 8
Real connectome6.768.007.427.557.567.557.947.97
Rewired control3.053.804.404.163.933.904.043.84

What learning changes, synapse by synapse

Mean strength of the excitatory synapses onto each motor pool, relative to the wiring (1.0 = as mapped). The guard grows; the escape jump — a real circuit doing its job, useless against someone who keeps punching — is suppressed.

Wings (guard)TTMn (escape jump)Hind legs (kick)
0.9581.141.331.511.712345678strength vs wiringgenerationWings (guard) · 1: 1.40Wings (guard) · 2: 1.49Wings (guard) · 3: 1.42Wings (guard) · 4: 1.52Wings (guard) · 5: 1.55Wings (guard) · 6: 1.53Wings (guard) · 7: 1.57Wings (guard) · 8: 1.53Wings (guard)TTMn (escape jump) · 1: 0.96TTMn (escape jump) · 2: 0.96TTMn (escape jump) · 3: 0.96TTMn (escape jump) · 4: 0.96TTMn (escape jump) · 5: 0.96TTMn (escape jump) · 6: 0.96TTMn (escape jump) · 7: 0.96TTMn (escape jump) · 8: 0.96TTMn (escape jump)Hind legs (kick) · 1: 1.04Hind legs (kick) · 2: 1.06Hind legs (kick) · 3: 1.03Hind legs (kick) · 4: 1.06Hind legs (kick) · 5: 1.07Hind legs (kick) · 6: 1.06Hind legs (kick) · 7: 1.06Hind legs (kick) · 8: 1.06Hind legs (kick)
Table: learned strength by pool
Poolgen 1gen 2gen 3gen 4gen 5gen 6gen 7gen 8
Wings (guard)1.401.491.421.521.551.531.571.53
TTMn (escape jump)0.960.960.960.960.960.960.960.96
Hind legs (kick)1.041.061.031.061.071.061.061.06

Every round played, by opponent

All rounds in the telemetry, including the runs where the fly was learning from scratch and lost badly.

Fly wonDrawnFly lost
Rule botRule bot · Fly won: 5353Rule bot · Fly lost: 181871 roundsJev APIJev API · Fly won: 4040Jev API · Fly lost: 242464 roundsLocal policyLocal policy · Fly won: 5454Local policy · Drawn: 6Local policy · Fly lost: 6464124 roundsHybridHybrid · Fly won: 2121Hybrid · Drawn: 2323Hybrid · Fly lost: 6161105 roundsRule bot · rewiredRule bot · rewired · Fly won: 2323Rule bot · rewired · Fly lost: 124 roundsJev API · rewiredJev API · rewired · Drawn: 1Jev API · rewired · Fly lost: 101011 roundsLocal policy · rewiredLocal policy · rewired · Drawn: 6Local policy · rewired · Fly lost: 511 roundsHybrid · rewiredHybrid · rewired · Fly won: 2Hybrid · rewired · Drawn: 4Hybrid · rewired · Fly lost: 17 rounds
Table: round outcomes
OpponentFly wonDrawnFly lost
Rule bot53018
Jev API40024
Local policy54664
Hybrid212361
Rule bot · rewired2301
Jev API · rewired0110
Local policy · rewired065
Hybrid · rewired241

What each side actually does

Share of decisions by move, from 3,645 logged decisions. Jev spreads itself across closing, striking and blocking; the fly, as wired, spends a quarter of its moves jumping away.

JevFly brain
0%9%19%28%38%Jev · stand: 0%Fly brain · stand: 0%standJev · walk_forward: 23%Fly brain · walk_forward: 28%walk forwardJev · walk_backward: 1%Fly brain · walk_backward: 0%walk backwardJev · jump_away: 0%Fly brain · jump_away: 17%jump awayJev · punch: 24%Fly brain · punch: 0%punchJev · kick: 26%Fly brain · kick: 20%kickJev · block: 26%Fly brain · block: 34%block
Table: decision mix
MoveJevFly brain
stand0%0%
walk_forward23%28%
walk_backward1%0%
jump_away0%17%
punch24%0%
kick26%20%
block26%34%