Research report · 19 October 2026 · twentieth check
Twentieth check: the beginner guide re-tested, and a strengthened scrambled brain walked in the body
Two weeks after the last re-test we ran the beginner guide again from an empty folder, with the same pinned packages, and this time also the quick look. We walked in the simulated body the one strengthened scrambled brain that had sent a small steering signal on 18 Oct. We added 10 catalogue entries (two of them unverified claims) and 3 ledger rows, and every activity number in the ledger now says what it counts.
Short answer
Re-test, 19 October 2026: 6 of 6 tests, 82.0 Hz bit-exact. The beginner path re-run from an empty folder on 19 Oct 2026 (Linux x86_64, Python 3.11.2, 2 CPUs) with the pinned packages. No page fixes were needed.
Quick look (200 ms trials), run on 19 Oct 2026 in 1.7 min: sugar 80.0 Hz → extend proboscis; shuffled wiring 0.0 Hz → stay still. Shorter trials are noisier than the full run.
19 Oct: walked in the body, the one matched scrambled brain with a small steering signal changed the fly's heading by about 1.4 degrees away from the shadow compared with no brain input, under our 10-degree turn rule; the real brain, with the same input, turned it away by about 16.8 degrees (one run each).
This body run turns the brain's firing rates into steering through our own hand-made mapping; it is not a separate test of the wiring.
One host and one Python version for the re-test; one deterministic body run of one scrambled graph; one model (Shiu et al. LIF on FlyWire v783); not a real fly.
Re-test, 19 October 2026: 6 of 6 tests, 82.0 Hz bit-exact.
Our own test · pre-registered 19 Oct 2026, 09:33 UTC · Linux x86_64, Python 3.11.2, 2 CPUs, no compiler, no GPU
| Step | Result | Time |
|---|---|---|
| Check the pins against PyPI | All 21 pins and 38 other packages we follow answered; the upstream model is still at the pinned commit 91bdd1e7 | about 2 s |
| Environment without pip, then get-pip (the Debian fallback on the guide) | Worked as written; get-pip.py sha256 fb24e693…8ddf6, the same as on 5 Oct 2026 (a dated snapshot, not a pin); pip 26.2.1. We added --no-cache-dir, which only affects caching | 7.0 s |
Pinned install from requirements.lock | Exit 0; pip freeze equals the lock file line for line | 34.6 s |
The short requirements.txt command (resolved, not installed) | 5 helper packages newer than the lock; the six main packages unchanged (below) | 7.6 s |
| Partial clone of the model at commit 91bdd1e7 and data checksums | Both files match the table in the guide | 8.0 s |
pytest -q | 6 passed in 57.67 s | 58.9 s |
| First sugar trial (real wiring, seed 0, 150 Hz, 1 s) | MN9 82.0 Hz → extend proboscis; 13,372 spikes, bit-exact with our runs of 28 Sep, 1 Oct, 2 Oct and 5 Oct 2026 | 68.3 s |
Quick look: run_demo.py --trials 1 --ms 200 --shuffle-seeds 1 --shuffle-trials 1 | sugar 150 Hz: 80.0 Hz → extend; no stimulus: 0.0 Hz → still; sugar 50 Hz: 10.0 Hz → still; with the strongest active input to MN9 silenced: 55.0 Hz → extend; shuffled wiring: 0.0 Hz → still | 99.2 s |
Pins: unchanged; checked against PyPI on 19 Oct 2026 (latest: Brian2 2.10.1, numpy 2.5.4, pandas 3.0.6, mujoco 3.16.0; our pins stay at 2.9.0, 2.3.5, 2.3.3 and 3.9.0), and installed cleanly in the re-test of 19 Oct; next re-test due 2 Nov 2026. For Python 3.11 the newest releases are Brian2 2.9.0 (our pin) and numpy 2.4.6; Brian2 2.10.1 and numpy 2.5.4 need Python 3.12 or newer.
The short command: On 19 Oct 2026 the short requirements.txt command picked 5 newer helper packages than our exact lock (iniconfig 2.3.0 → 2.3.1, MarkupSafe 3.0.3 → 3.0.4, pluggy 1.6.0 → 1.7.0, pytz 2026.4 → 2026.5, tzdata 2026.4 → 2026.5); the six main packages are pinned and did not change. Use requirements.lock to get exactly our environment. The resolver also listed setuptools 84.0.0, which a beginner already has from get-pip, so it is not counted.
Quick look: Quick look (200 ms trials), run on 19 Oct 2026 in 1.7 min: sugar 80.0 Hz → extend proboscis; shuffled wiring 0.0 Hz → stay still. Shorter trials are noisier than the full run. The quick-look command in the guide is now labelled tested.
Not re-run at full length on 19 Oct: the 20-trial run_demo.py and the "change one thing" experiments (their full results are from 28 Sep 2026; the quick look ran each condition once with 200 ms trials). Next re-test due 2 Nov 2026. The guide: Build your own.
The strengthened scrambled brain with a steering signal, walked in the body
Our own test · pre-registered 19 Oct 2026, 09:37 UTC · simulated body (FlyGym) driven through our own mapping · one run · not a real fly
Why. On 18 Oct we strengthened 4 scrambled brains at 30 spikes/s until their spikes outside the stimulated input matched the real brain's. None sent a turn command, but one (right eye, shuffle 4, connections ×2.75) sent a small steering signal: the far-side turn neuron fired at 1 Hz in one 100 ms bin. We had not walked it in the body. Our expectation, written down before the walk, was that one such bin would change the heading by a few degrees at most.
Checks before the walk. The steering drive was regenerated from the saved brain trial and matched its saved fingerprint; the no-brain floor run was repeated and matched our 8 Oct floor exactly (0 of 700 trajectory values differ, heading after onset −1.49°).
Result. The heading after onset was −0.10°, so the turn beyond the no-brain floor is +1.39° away from the shadow, under our 10° rule. The fly walked 11.5 mm forward after onset (16.8 mm in all); none of the drive was clipped. The real brain at the same input (right eye, 30 spikes/s, trial seed 2) turned it 16.78° beyond the floor in our 8 Oct body run.
Pre-registered sentence: 19 Oct: walked in the body, the one matched scrambled brain with a small steering signal changed the fly's heading by about 1.4 degrees away from the shadow compared with no brain input, under our 10-degree turn rule; the real brain, with the same input, turned it away by about 16.8 degrees (one run each).
This body run turns the brain's firing rates into steering through our own hand-made mapping; it is not a separate test of the wiring.
The 30 spikes/s closing is unchanged: As at 80 spikes/s, none of the scrambled brains we ran at 30 spikes/s sent a turn command, including those strengthened to about the real brain's activity outside the input.
The panel below adds this run to the body-strength chart as a filled triangle on the right eye.
Our own test · pre-registered before the first body run (14 Oct 2026, 09:28 UTC) · simulated body (FlyGym) driven through our own mapping · one model · a simulation, not an animal
On 8 Oct the brain model's turn command appeared from about 30 spikes per second per looming neuron. On 14 Oct we walked the remaining brain drives of that series in the simulated body, so every drive that differs from the no-brain floor now has a body run. The sentences were chosen by rules fixed in advance; the two eyes read differently, so there is one sentence per eye.
Left eye (pre-registered sentence): In the body, the fly turned away from 30 spikes/s per looming neuron upward on this side, the strength at which the brain's turn command appeared; the turn was about 11 deg at 30 and about 37 deg at 80 (our mapping turns the brain's rates into steering).
Right eye (pre-registered sentence): At 30 spikes/s the turn was borderline: the fly turned away in 1 of 2 runs on this side; from 40 upward it turned away in every run.
This borderline rests on one run: seed 0 at 30 spikes/s turned 9.18° beyond the no-brain floor, 0.8° under our 10° rule (seed 2 at 30 turned 16.8°).
These body runs turn the brain's firing rates into steering through our own hand-made mapping, so they show the brain result in degrees; they are not a separate test of the wiring. We ran scrambled brains at 30 and 80 spikes/s, not at 20, 40 or 60.
17 Oct 2026: scrambled brains at 30 spikes/s (pre-registered sentences; brain only, because their steering drives equal the no-brain drive):
17 Oct: at 30 spikes/s, the weakest tested input at which the real brain's turn command appeared, we also ran 2 scrambled brains per side (each neuron keeps its number of connections; one 1-second trial each, with the same trial seed as the real-wiring body runs).
- Left eye:
On the left side, neither scrambled brain sent a turn command, and their steering signals were identical to having no brain, so in the body they walk like the no-brain fly (the real wiring turned it about 11 deg).
- Right eye:
On the right side, neither scrambled brain sent a turn command, and their steering signals were identical to having no brain, so in the body they walk like the no-brain fly (the real wiring turned it about 17 deg).
The scrambled brains were not matched for overall activity: they fired 48% (left) and 44% (right) as many spikes as the real brain at this strength. Most of those spikes were the stimulated input neurons themselves; outside the input, the scrambled brains fired about 1% as many spikes as the real brain.
18 Oct 2026: the same scrambled brains, strengthened (pre-registered sentences; brain only):
18 Oct: we then strengthened the connections inside scrambled brains (not the input) until their neurons outside the stimulated input fired about as many spikes as in the real brain (within 30%; same input, one 1-second trial each).
- Left eye:
On the left side, 2 scrambled brains matched this way, and neither sent a turn command.
- Right eye:
On the right side, 2 scrambled brains matched this way, and neither sent a turn command.
Matching the number of spikes does not match the pattern: 1,152 to 2,228 neurons fired in the matched scrambled brains, against 379 (left) and 432 (right) in the real brain.
19 Oct 2026, in the body (pre-registered; one run): 19 Oct: walked in the body, the one matched scrambled brain with a small steering signal changed the fly's heading by about 1.4 degrees away from the shadow compared with no brain input, under our 10-degree turn rule; the real brain, with the same input, turned it away by about 16.8 degrees (one run each).
This body run turns the brain's firing rates into steering through our own hand-made mapping; it is not a separate test of the wiring.
As at 80 spikes/s, none of the scrambled brains we ran at 30 spikes/s sent a turn command, including those strengthened to about the real brain's activity outside the input.
- seed 2 (line joins its points)
- seed 0
- same as no brain
- scrambled brain, 30 spikes/s (17 Oct)
- scrambled, gain-matched, 30 spikes/s, right eye (walked 19 Oct)
- 10° rule
Horizontal axis: input in spikes per second for every looming neuron of one eye. Vertical axis: degrees turned away beyond the no-brain floor. Each point is one body run: how far the simulated fly turned away from the shadow after it appeared, minus the turn of the same body with no brain input (the floor). Below the dashed line our rule reads "did not turn away". Hollow diamonds at 30 spikes/s: the 17 Oct scrambled brains, drawn at the no-brain value because their drives equal the no-brain drive. Filled triangle (right eye only): the one strengthened scrambled brain with a small steering signal, walked on 19 Oct (1.39°, below the rule; the real brain at the same input 16.78°). The turn did not grow at every step: seed 2 at 30, 40, 60 and 80 spikes/s turned 11.1, 27.2, 26.9, 37.2° (left eye) and 16.8, 33.8, 62.2, 55.4° (right eye).
Every point in the charts (16 body readings, 4 scrambled brains and 1 strengthened scrambled brain walked on 19 Oct)
| Shadow on | Input (spikes/s) | Brain and seed | Turn beyond the floor | Turned away (10° rule) | Body run |
|---|---|---|---|---|---|
| left eye | 10 | real, seed 2 | 0° | no | same as no brain |
| left eye | 20 | real, seed 2 | 1.67° | no | walked 14 Oct 2026 |
| left eye | 20 | real, seed 0 | 0° | no | same as no brain |
| left eye | 30 | real, seed 2 | 11.13° | yes | walked 8 Oct 2026 |
| left eye | 30 | real, seed 0 | 12.68° | yes | walked 14 Oct 2026 |
| left eye | 30 | scrambled (shuffle 4), trial seed 2 | 0° | no | same as no brain (brain trial 17 Oct 2026) |
| left eye | 30 | scrambled (shuffle 5), trial seed 2 | 0° | no | same as no brain (brain trial 17 Oct 2026) |
| left eye | 40 | real, seed 2 | 27.18° | yes | walked 14 Oct 2026 |
| left eye | 60 | real, seed 2 | 26.88° | yes | walked 14 Oct 2026 |
| left eye | 80 | real, seed 2 | 37.18° | yes | walked 8 Oct 2026 |
| right eye | 10 | real, seed 2 | 0° | no | same as no brain |
| right eye | 20 | real, seed 2 | 0° | no | same as no brain |
| right eye | 20 | real, seed 0 | 2.52° | no | walked 14 Oct 2026 |
| right eye | 30 | real, seed 2 | 16.78° | yes | walked 8 Oct 2026 |
| right eye | 30 | real, seed 0 | 9.18° | no | walked 14 Oct 2026 |
| right eye | 30 | scrambled (shuffle 4), trial seed 2 | 0° | no | same as no brain (brain trial 17 Oct 2026) |
| right eye | 30 | scrambled (shuffle 5), trial seed 2 | 0° | no | same as no brain (brain trial 17 Oct 2026) |
| right eye | 40 | real, seed 2 | 33.78° | yes | walked 14 Oct 2026 |
| right eye | 60 | real, seed 2 | 62.15° | yes | walked 14 Oct 2026 |
| right eye | 80 | real, seed 2 | 55.42° | yes | walked 8 Oct 2026 |
| right eye | 30 | scrambled, gain-matched (shuffle 4, connections ×2.75), trial seed 2 | 1.39° | no | walked 19 Oct 2026 |
- One run per drive. Seed 2 was walked at each strength; seed 0 only at 20 and 30 spikes/s. The right-eye reading turns on one run 0.8° under the line.
- Checks before reading. The no-brain floor repeated our 8 Oct floor run exactly (0 of 700 trajectory values differ), and every brain drive matched its saved fingerprint (12 of 12), so these runs read the same drives as the brain series. Before the 17 Oct scrambled brains, our 8 Oct real-brain trial at 30 spikes/s was repeated exactly (spike counts, active neurons and every descending-neuron rate), and each scrambled graph was the same graph as its 80 spikes/s twin.
- Scrambled brains at 30 spikes/s. Two shuffles per side (shuffle seeds 4 and 5), one 1-second trial each. In all 4 trials of 17 Oct the turn neuron on both sides (DNa02), both giant fibres (DNp01) and MDN fired 0 Hz. On 18 Oct we multiplied the connection strengths of the same 4 graphs by 2.5 to 2.75 (6 trials in all) until each brain's spikes outside the stimulated input were within 30% of the real brain's (left 5,266, right 5,901); the matched counts were 3,750 and 3,991 on the left and 6,370 and 4,587 on the right. No scrambled brain was run at 20, 40 or 60 spikes/s.
- Limits of the 18 Oct check. One 1-second trial per scrambled brain and one trial seed. Two of the four matches sit near the lower edge of the band (0.71 and 0.76 of the real count, both on the left). Matching the count did not match the pattern: about 3 to 6 times as many neurons fired as in the real brain. One matched brain (right eye, shuffle 4) sent a small steering signal (far-side turn neuron 1 Hz in one 100 ms bin); on 19 Oct we walked it in the body (next item).
- The 19 Oct body walk. One deterministic body run of that brain's steering drive, with the same body, floor and mapping as the real-brain runs; the no-brain floor repeated exactly first (0 of 700 values differ), and the drive was regenerated and matched its saved fingerprint. The 1.39° is the turn beyond the no-brain floor (−1.49°); the real brain at the same input turned 16.78° (8 Oct body run). One run, one trial seed, one scrambled graph.
- What it measures. The heading of a simulated FlyGym body over 1.2 s, steered by the brain model's turning-neuron rates through our own hand-made mapping, with the walking drive held by us. The 30 and 80 spikes/s seed 2 points are our 8 Oct body runs and the 4 grey squares take the no-brain walk, as do the 4 diamonds (the 17 Oct scrambled brains); the other 8 points are 14 Oct runs (the remaining 4 runs of 14 Oct are the relay lines on this page).
Every run, gates and timings: report of 14 Oct 2026; the scrambled brains at 30 spikes/s: report of 17 Oct 2026 and, strengthened, report of 18 Oct 2026; the 19 Oct body walk: report of 19 Oct 2026; the brain series: How strong must the shadow be?
10 new entries and 3 new ledger rows
- MaleCNS Cube A (ledger: no difference): a recurrent network on a 256-node MaleCNS v1.0 subgraph, with trainable connection strengths, estimates how many face turns a Rubik's cube state is from solved. Test error (lower is better; 3 seeds): real 0.3509, degree-preserving rewired 0.3380, frozen strengths 0.5275, parameter-matched MLP 0.3245; all four solve 12 of 12 search tests. A course project; the author's numbers.
- QedSDL Endpoint A (ledger: mixed): the FlyWire v783 wiring from projection neurons to Kenyon cells as the fixed input layer of a novelty detector in simulated materials-lab streams. AUROC over 20 seeds: real 0.9505, degree-preserving shuffle 0.9505, random wiring 0.9391 (means recomputed by us from the committed per-seed files). Not a fly-behaviour model.
- flybrain (foraging economy) A (ledger: worse): a MaleCNS v1.0 network (166,700 neurons) runs flies in an evolving foraging economy. Final-generation mean energy over 3 seeds: real 360.27, weight-permuted 742.93, zeroed weights −151.17, coin-flip decision −110.33 (recomputed by us from the committed ledgers). The simulation kernel is not in the repository; a single-author preprint.
- 3dfly B: a MaleCNS v1.0 rate network steers a flybody fly in MuJoCo while it maps a 3-D scene; a degree-preserving shuffle is implemented in its acceptance script, but no result is committed.
- FlyWire LM B: the frozen FlyWire v783 graph as the recurrent core of a byte-level language model with trained input and output layers; the author states that the results do not establish an advantage of the fly wiring over other graphs, and there is no other-graph comparison.
- ChatFlyPT B: a MaleCNS v1.0 brain-and-nerve-cord simulation behind a chat interface; trained decoders turn its activity into labels, text and NeuroMechFly movement. Its controls shuffle the decoders' inputs, not the wiring.
- FastFly B: a FlyWire v783 graph atlas, and a whole-brain simulation that steers a 2-D walker through hand-drawn mazes; no wiring control.
- A Virtual Fly Brain course n/a: a Chinese-language course on Virtual Fly Brain, with a recount of the Nern et al. 2025 visual-system cell-type census from public data. No simulation.
- OrigoZero "Fruit Fly" U: the page says all 164,587 neurons of the MaleCNS v1.0 connectome run as leaky integrate-and-fire units on the GPU and drive a fly in an arena; it credits Berg et al. 2026 for the data and Shiu et al. 2024 for the model constants. No code is linked. The page responded on 19 Oct 2026; not loaded in a browser by us.
- Fly Connectome Explorer (flyproject.io) U: the page calls itself "a real fruit fly brain, one circuit at a time"; its own script contains leaky integrate-and-fire code next to hand-written behaviour states. No repository, licence or author is given. The page responded on 19 Oct 2026; not loaded in a browser by us.
One more lead, DeevlerPlays599/FlyBrain, is a re-host of Lulzx/fly-brain with identical files, so it is counted under the existing fly-brain entry. Two of these repositories had new commits since they were first listed (3dfly and DeevlerPlays599/FlyBrain); both were read at their new commits.
The ledger now has 65 studies, 56 with a wiring null: helps 25, no difference 12, worse 5, mixed 12, not yet scored 2. No scoring rule changed.
What each activity number counts. Ten comparison arms carry an activity ratio (display only). Each now says what it counts: eight count spikes over the whole brain, the stimulated input included (our own tests), and two count network units (fly-connectome-reservoir). The gain-matched arm of our looming test counts the whole brain (0.9864× the real brain); it was matched on the spikes outside the stimulated input, which were 0.98× the real brain's, and the ledger now shows both (the ledger).
Corrections, verdicts and tracking
- Author fields. fly67 and ChessFly now name the author as each repository's LICENSE does: fly67 "Ruben Gexhaw (GitHub: gexhaw, formerly znatgost)", ChessFly "Ruben Nugmanov (GitHub: gexhaw, formerly znatgost)".
- fly67 size. About 33 MB (measured on our 18 Oct 2026 load; the README says 31-33 MB gzipped).
- The Odyssey-3 claim (the post): No method, code or write-up was published as of 19 Oct 2026. Odyssey's newest post is about Odyssey-3 itself (8 Oct) and does not mention a fly. The verdict row stays U.
- Repositories of 15 of the 23 verdict rows re-checked on 19 Oct 2026; none changed since grading. Rows without code are carried.
- All 56 videos available. Links: fruitfly.live still has a TLS certificate error; FlyDoom's repository still answers "not found". Six catalogue repositories have new commits since we graded them; they are recorded and will be re-read later (grades unchanged until then).
What we could not resolve
- One machine. The re-test ran on one Linux machine with Python 3.11.2; macOS, Windows and other Python versions are untested.
- One body run. The walk is one deterministic run of one scrambled graph at one trial seed; it describes this drive, not scrambled brains in general.
- Our mapping. The body turns the brain's firing rates into steering through our own hand-made mapping, and we hold the walking drive; the walk is not a separate test of the wiring.
- Count, not pattern. The strengthened scrambled brains matched the real brain's number of spikes outside the input, not where those spikes happen.
- Unverified pages. The two new U rows are the pages' own claims; we did not load them in a browser or read their full code.
Earlier: report of 18 Oct 2026 (the scrambled brains at 30 spikes/s, strengthened) and report of 5 Oct 2026 (the previous beginner re-test).