Research
Every number here came out of code in the public repository, and the failures are on this page next to the successes. A result that goes the wrong way is still a result; the point of the project is what the connectome can do, not what we can script it into doing.
In the fighting game
The fly's senses are fed the game; its descending neurons press the buttons. The brain itself is never trained — only the encoder going in and the readout coming out.
Against a scripted dummy for 90 seconds, 64% of its moves went toward the opponent, where chance is 50%. The pathway doing it is LC10a → DNa02 — the same circuit a male fly uses to chase a mate. With eight copies of the brain voting, that rises to 72% (against 63% for a single fly), with far fewer random moves.
22% of its jumps happened while a projectile was nearby, against 20% for random jumping. That is chance. The escape pathway fires, but nothing has taught it when to use it.
A linear readout is trained on recorded matches to predict whether a press will connect, then scored on held-out matches. The honest comparison is a baseline that just looks at the distance between the fighters — information the fly does not get cleanly.
| Readout | Samples | Fly (held-out) | Game-state baseline | Chance |
|---|---|---|---|---|
| Punch: will it connect? | 407 presses, 41 connected | AUC 0.77 | 0.83 | 0.50 |
| Kick: will it connect? | 205 presses, 28 connected | AUC 0.67 | 0.88 | 0.50 |
At its chosen threshold the punch readout presses on 9% of chances and 19% of those connect, against 10% for random presses — but a one-line “punch when in reach” rule presses on 8% of chances and connects 50% of the time. The fly loses to the rule. We do not use the rule: a win from scripted rules would tell us nothing about the connectome.
Searching how the game reaches the looming neurons moved the punch readout from AUC 0.685 (hand-set) to 0.789 (looming scaled by size 0.6), replicated across three runs and flat up to 1.2 before collapsing at 1.8. The distance-only baseline still wins at 0.867. The interface, not the wiring, is the bottleneck — which is why the roadmap learns the interface first and treats wiring edits as a separate experiment.
In the 3-D world
A second model, smaller and built to the same block diagram: 612 leaky integrate-and-fire neurons per fly, 4,718 synapses, never trained. Because every fly is cheap, whole pathways can be cut and the population measured with and without them.
16 flies, wind 1.6 m/s, 180 s, binned by how long it has been since a puff of odour hit:
| Time since a puff | Speed | Upwind heading | Steering | Wing motor |
|---|---|---|---|---|
| Under 0.25 s (a hit) | 2.71 m/s | 0.771 | 2.31 | 8.7 Hz |
| 0.25–0.75 s | 2.76 | 0.653 | 2.62 | 8.5 |
| 0.75–1.5 s | 2.55 | 0.616 | 2.72 | 8.1 |
| 1.5–3 s | 2.37 | 0.633 | 2.72 | 7.8 |
| Over 3 s (plume lost) | 2.11 | 0.595 | 2.93 | 7.4 |
Monotonic in all four columns: on contact a fly speeds up, straightens, heads further upwind and drives its wings harder; as the plume is lost it slows, turns more and drifts off the wind axis. That is textbook surge-and-cast, and nothing in the code says to do it. It falls out of receptors that report the onset of a puff feeding the same steering and thrust populations the wind pathway feeds.
Spiders rear up — which the eyes see as real looming — and strike. 24 flies, 250 s, four independent world seeds. Deaths are per 1,000 fly-seconds, so a run that loses flies early is not scored as safer.
| Wiring | Eaten / 1000 fly-s | Giant fibre | Near the ground |
|---|---|---|---|
| Intact | 0.30 ± 0.16 | 0.91 Hz | 41.2% |
| Looming input cut | 1.94 ± 0.96 | 0.00 Hz | 78.1% |
| Jump-muscle output cut | 0.71 ± 0.29 | 1.06 Hz | 36.8% |
Cutting the looming input raises deaths 6.5×, but it also parks the flies near the ground, so most of that is posture rather than a failed escape. Cutting the giant fibre's output is the clean test: the neuron still fires, time near the ground is unchanged, and deaths still more than double. That is the escape circuit doing its job, measured with the confound removed.
Cut the descending neurons off the premotor pool and the flies stop being flies: wing motor 7.4 → 2.5 Hz, speed 1.89 → 0.07 m/s, altitude 3.51 → 0.42 m. They sit on the ground twitching. Cut the ventral optic-flow cells instead and altitude collapses from 3.5 m to 0.89 m — height in this model is held by the same optic-flow loop insects use, not by a controller.
Published either way
The geosmin pathway — the labelled line a real fly uses to avoid mould — is wired in and it fires: the receptor runs at 1.6 Hz and the lateral horn at 6.5–9 Hz next to mouldy fruit. But the flies do not avoid the mould. In a two-choice arena the side-swap variance is larger than any ablation effect. The aversive signal reaches steering at a few Hz against a much larger arousal background, and it loses.
Flies looked like they clustered around each other. Measured speed-independently — is a fly heading at its nearest neighbour? — the effect is −0.049 intact and −0.000 with the pheromone cut. The clustering was arousal, not attraction. The original result did not survive a better measurement.
Cutting the food odour channel entirely changes mean distance to fruit from 11.37 m to 11.21 m. In a 32 m field with dozens of food sources, where flies settle dominates what they search for. Surge is real and measurable; it just does not show up in this particular metric.
The male command neuron P1 and the song command pIP10 are wired in and respond to their inputs: cutting the visual input drops P1 from 5.1 Hz to 1.8 Hz, cutting the contact input pushes it to 11.3 Hz. Across that six-fold range, the number of matings does not change — 6.0 ± 1.6 intact, and every ablation overlaps it. Mating in the simulation is proximity plus a threshold, not courtship. The circuit is real; our use of it was not.
Each neuron's incoming weights are normalised to sum to 1, so cutting one input raises the weight of the rest. These are not clean knockouts, and small differences between rows should not be trusted. Stated here rather than buried, because it limits every table on this page.
Stated plainly