Research report · 2 October 2026 · sixth check
Sixth check: who does the walking? We gave the fly brain a body, refereed the Terraria fly and added 4 entries
This check connected the whole-brain fly model from our Build your own guide to a simulated fly body, FlyGym, and measured how much of the walk comes from the brain. We wrote the design down before the first trial. We also refereed the week's fastest-growing fly-brain video, a fly brain with a body in Terraria, re-checked all 100 entries and 51 videos, finished the gain check left open on 1 Oct, and added 4 entries and 1 video.
Short answer
Lead scan: one claim promoted. George Ostrobrod's "I put a fly's brain into Terraria. And tried to train it" gained 24,664 views in about a day (3,580 to 28,244) and links its code. We graded it B from the files: a checksummed MaleCNS v1.0 connectome drives a Terraria body through hand-mapped senses and muscles, with plasticity, and there is no control, as the author says. No other claim met the bar. Gorilla Tag grew to 623,504 views and stays U.
Made by us: in our test the FlyGym fly walked 13.9 mm with the real brain, 14.1 mm with a scrambled brain and 14.3 mm with no brain: the walking comes from the stimulus and the body controller. The real brain did add turning commands that scrambled brains did not, and our hand-made mapping capped the forward drive, so speed could hardly differ by construction (limits).
- "Add a body" on Build your own is now tested end to end: brain tested, body tested, mapping ours.
- Tasting sugar sends no walking command in the model: the feeding neuron MN9 fires at 82 Hz, every walking command neuron is at 0 Hz, and the fly stands.
- The gain-matched check of our 1 Oct fair test was not matched on 3 shuffles: ×2.5 matched shuffle 3 only, and MN9 stayed at 0 Hz at every gain.
- Catalogue: 104 entries (+4). Gallery: 52 videos (+1). Controls ledger: 33 studies, 25 with a wiring null: helps 10, no difference 6, worse 2, mixed 6, not scored 1. No scoring rule changed.
What changed
- 100 → 104catalogue entries (4 new: 1 A, 2 B, 1 C)
- 51 → 52gallery videos (1 new, 0 removed)
- 32 → 33control studies; 25 with a wiring null
- 0grade changes; FlyDoom (eganeganegan) still "not found", record kept
Add a body: who does the walking?
Readers arrive from videos titled "the fly brain learned to walk". The honest answer has three parts: the legs, rhythm and balance come from a body controller; the brain sends a few numbers; and someone chose how neuron rates become those numbers. We measured each part with the most-used brain model and the most-used fly body. The rate-to-drive mapping between them is ours, hand-made and not fitted, everywhere it appears.
What makes the fly walk. (1) Legs, rhythm and balance come from FlyGym's walking controller. (2) The brain sends two numbers, left and right, every 100 ms. (3) How neuron rates become those two numbers is our hand-made mapping. Paths are drawn to scale from the thorax position every 10 ms; forward is to the right. The three scrambled-brain paths coincide because their drives were identical. Our test of 2 Oct 2026, pre-registered before the first trial.
Open the chart as an image (SVG) to share it; it carries its own title, numbers and source line.
Read this before sharing. The fly walks because we stimulate its forward-walking neurons (P9); P9 fires at the same rates whether the rest of the brain is real or scrambled. Our mapping caps each drive number at 1.2, and 90 of the 120 drive values of the six P9 walks (75%) sit exactly at the 1.2 clip, so forward speed could hardly differ between conditions by construction. Another hand-made mapping could let the wiring matter more. One stimulus, one model, one body, 1 s of walking, open loop (the body never feeds back to the brain).
The brain is not doing nothing. Only the real wiring recruited the turning neurons DNa02, more on the right than the left in all three seeds; the scrambled brains recruited no mapped neuron. That turned the real-brain fly by −0.4° to −26°, but random no-brain drives turned it by −7° to −27° in the same second, so 1 s of walking cannot tell the two apart. Sugar: the same brain tasting sugar fires its feeding neuron MN9 at 82 Hz while every walking command neuron stays at 0 Hz, so the fly stands.
Numbers behind the chart (all 18 runs)
| Run | Group | Forward (mm) | Heading (°) | Path (mm) | Drive L / R | Brain sends (Hz) | Files |
|---|---|---|---|---|---|---|---|
| Real brain, P9, trial seed 0 | Real brain | 13.26 | -26.3 | 18.89 | 1.20 / 1.00 | P9 130/162, DNa02 7/29, MDN 0/0 | body/P9-real-0.json drives/P9-real-0.json brain/P9-real-0.json |
| Real brain, P9, trial seed 1 | Real brain | 14.35 | -0.4 | 19.64 | 1.16 / 1.11 | P9 146/132, DNa02 11/21, MDN 0/0 | body/P9-real-1.json drives/P9-real-1.json brain/P9-real-1.json |
| Real brain, P9, trial seed 2 | Real brain | 14.17 | -14.4 | 19.50 | 1.19 / 1.06 | P9 141/136, DNa02 10/25, MDN 0/0 | body/P9-real-2.json drives/P9-real-2.json brain/P9-real-2.json |
| Scrambled brain, P9, shuffle 3 | Scrambled brain | 14.15 | -14.6 | 19.52 | 1.20 / 1.06 | P9 130/162, DNa02 0/0, MDN 0/0 | body/P9-D3.json drives/P9-D3.json brain/P9-D-3.json |
| Scrambled brain, P9, shuffle 4 | Scrambled brain | 14.15 | -14.6 | 19.52 | 1.20 / 1.06 | P9 130/162, DNa02 0/0, MDN 0/0 | body/P9-D4.json drives/P9-D4.json brain/P9-D-4.json |
| Scrambled brain, P9, shuffle 5 | Scrambled brain | 14.15 | -14.6 | 19.52 | 1.20 / 1.06 | P9 130/162, DNa02 0/0, MDN 0/0 | body/P9-D5.json drives/P9-D5.json brain/P9-D-5.json |
| No brain, constant drive (L 1.18, R 1.06) | No brain | 14.28 | -11.3 | 19.49 | 1.18 / 1.06 | no brain | body/matched.json drives/matched.json |
| No brain, random drive, seed 0 | No brain | 14.01 | -9.7 | 19.07 | 1.16 / 1.05 | no brain | body/random-0.json drives/random-0.json |
| No brain, random drive, seed 1 | No brain | 14.39 | -7.5 | 19.65 | 1.18 / 1.08 | no brain | body/random-1.json drives/random-1.json |
| No brain, random drive, seed 2 | No brain | 13.48 | -27.2 | 18.81 | 1.19 / 0.97 | no brain | body/random-2.json drives/random-2.json |
| Real brain tasting sugar | Sugar | 0.00 | -0.0 | 0.12 | 0.00 / 0.00 | P9 0/0, DNa02 0/0, MDN 0/0 | body/SUG-real-0.json drives/SUG-real-0.json brain/SUG-real-0.json |
| Zero drive | Floor | 0.00 | -0.0 | 0.12 | 0.00 / 0.00 | no brain | body/zero.json drives/zero.json |
| FlyGym default drive (1, 1), sanity check | No brain (sanity) | 13.01 | 6.7 | 17.48 | 1.00 / 1.00 | no brain | body/const-1.json drives/const-1.json |
| Scrambled brain tasting sugar, shuffle 3 | Sugar (fill) | 0.00 | -0.0 | 0.12 | 0.00 / 0.00 | P9 0/0, DNa02 0/0, MDN 0/0 | body/SUG-D3.json drives/SUG-D3.json brain/SUG-D-3.json |
| Scrambled brain tasting sugar, shuffle 4 | Sugar (fill) | 0.00 | -0.0 | 0.12 | 0.00 / 0.00 | P9 0/0, DNa02 0/0, MDN 0/0 | body/SUG-D4.json drives/SUG-D4.json brain/SUG-D-4.json |
| Scrambled brain tasting sugar, shuffle 5 | Sugar (fill) | 0.00 | -0.0 | 0.12 | 0.00 / 0.00 | P9 0/0, DNa02 0/0, MDN 0/0 | body/SUG-D5.json drives/SUG-D5.json brain/SUG-D-5.json |
| Real brain, left P9 only | Real brain (fill) | -4.77 | 254.2 | 12.75 | -0.07 / 1.11 | P9 131/0, DNa02 14/0, MDN 0/0 | body/P9L-real-0.json drives/P9L-real-0.json brain/P9L-real-0.json |
| Scrambled brain, left P9 only, shuffle 3 | Scrambled brain (fill) | -2.18 | 210.3 | 10.16 | 0.00 / 1.11 | P9 131/0, DNa02 0/0, MDN 0/0 | body/P9L-D3.json drives/P9L-D3.json brain/P9L-D-3.json |
Retention, (null − zero) / (real − zero) on the mean forward distance: scrambled 1.016, brainless constant 1.025, brainless random 1.002. Mapping (ours, hand-made, not fitted): drive_s = clip(pbar − 0.5·(p_s − p_o) − m_s − 0.5·(a_s − a_o), −1.2, 1.2) with p, m, a = DNp09, MDN and DNa02 rates ÷ 100 Hz.
Replay any run 100 ms at a time, with what the brain sends and the two drive numbers it becomes:
The design, written down first
The design and the gain-check addendum were copied into the pre-registration at 09:35:33 UTC, before the first brain trial (09:37:57 UTC). Every trial file holds the spike counts of all 1,299 descending neurons in ten 100 ms bins.
| Part | What | Whose | Status |
|---|---|---|---|
| Brain | Shiu et al. 2024 leaky integrate-and-fire model, model.py at commit 91bdd1e7, FlyWire v783 (138,639 neurons), upstream defaults, Poisson stimulus at 150 Hz, 1 s trials, one fresh process per trial (Python 3.11, Brian2 2.9.0) | Shiu et al. | tested |
| Stimulus | Sugar: the 21 sugar-taste neurons of the model's own experiment. P9: the forward-walking command neurons DNp09, left and right, the model version of Bidaye et al. 2020's activation of P9. Fill: left P9 only | our choice, from the papers | tested |
| Wiring | Real (trial seeds 0–2 for P9), and degree-preserving shuffles 3, 4 and 5 (the null of our 1 Oct test, unchanged) at trial seed 0 | FlyWire; shuffles ours | tested |
| Mapping | For each 100 ms bin and side: forward from P9, minus backward (MDN), minus half the turning difference (DNa02), all ÷ 100 Hz and capped at ±1.2; each bin held for 100 ms of body time. Unit tests: 8 passed | ours, hand-made | tested (unit tests) |
| Body | FlyGym 2.1.0 HybridTurningController (the NeuroMechFly v2 two-number descending drive), built as in upstream's own test; 0.2 s settle, then 1.0 s driven; thorax recorded every 10 ms; CPU, MUJOCO_GL=disable | FlyGym (NeuroMechFly v2) | tested |
| Controls | Scrambled brains (3 shuffles); no brain with a constant drive matched to the real brain's average per side (L 1.18, R 1.06); no brain with random drives of the same mean and spread (3 seeds); zero drive; FlyGym's default (1, 1) as a sanity check | ours | tested |
| Metric | Forward distance of the thorax along the starting heading in 1.0 s (mm); also heading change and path length | ours | pre-registered |
Deviations, in plain words
- The turning sign of P9 (changed before any body run). Bidaye et al. 2020 report that P9 "drives forward walking with ipsilateral turning": a fly with only its left P9 active walks and turns left. A direction check showed that FlyGym turns a fly toward the side with the smaller drive (drive 1.0 left and 0.3 right turned it 129° to the right). Our pre-registered formula gave each side its own P9 rate, so a left-only P9 fly would have turned right, the wrong way. We used the other side's P9 rate as each side's forward term instead. With both P9s active this changes each drive by only 0.08–0.14 per bin; with left P9 alone the fly now spins left (+254° real, +210° scrambled), as the paper says. The pre-registered drives are kept in every drive file but were not run in the body.
- The first FlyGym install failed with "No space left on device" in
/tmp: with caching off, the installer unpacks a large wheel in the temporary folder. PointingTMPDIRat a folder with room fixed it (7 s). - An analysis fix, not a design change: the body files store the heading wrapped to ±180°, which would have read the left spins as right turns. The analysis unwraps it from the 10 ms trajectory, and the body script is fixed for future runs.
Which neurons, and why
| Cell type | Role | Source | Status |
|---|---|---|---|
| DNp09 (P9) | forward drive, per side (mapped) | Bidaye et al. 2020, Neuron, abstract: "P9 drives forward walking with ipsilateral turning" | verified; sign fixed (deviation above) |
| MDN | backward drive (mapped) | Bidaye et al. 2014, Science: descending neurons for backward walking | verified |
| DNa02 | turning (mapped) | Rayshubskiy et al. 2025, eLife: "unilateral activation of DNa02 influences ipsilateral rotational movements" | verified; our sign is ipsilateral |
| DNa01 | recorded only | same paper: activity "predicts spontaneous ipsilateral turning" | verified |
| DNp01 (giant fibre) | recorded only | von Reyn et al. 2014, Nature Neuroscience: escape | verified |
| DNg62 | recorded only | Shiu et al. 2024 never uses the name; the upstream figure code labels the right DNg62 as the grooming neuron aDN1 | partly verified (right side, label only) |
| Two-number drive | the body interface | FlyGym 2.1.0 source: descending_signal has shape (2,), element 0 = left legs, sign = stepping direction; plus our direction check | verified in code |
Install, sizes and times
- Brain environment (the beginner-path pins of Build your own): installed in 36 s, both data checksums matched. It was deleted before the body install began, so the two environments never coexisted on our 3 GiB machine.
- Body: uv 0.9.0 in a throwaway environment (10 s), CPython 3.12.11 through uv (2 s, 103 MB),
flygym==2.1.0with caching off (7 s on the second attempt; 47 packages including mujoco 3.9.0, numba 0.68.0, numpy 2.5.3). Environment 602 MB; scratch peak 805 MB. - Memory: brain trials peaked at 0.77 GB each, body runs at 0.27 GB. A body run of 1.2 s body time took about 70 s on one CPU.
- Pins are in a lock file from
uv pip freeze; the steps are on Build your own.
What the brain sends down
Gate: our first sugar trial gave MN9 82.0 Hz, bit-exact with our runs of 28 Sep and 1 Oct. All 15 brain trials of this check finished, and every shuffle passed its property checks (edges, synapse total, in- and out-degree).
| Trial | MN9 (feeding) | Whole-brain spikes | Active descending neurons (of 1,299) | P9 (forward) | DNa02 (turning) | MDN (backward) |
|---|---|---|---|---|---|---|
| Sugar, real wiring (our gate trial) | 82 Hz | 13,372 | 65 | 0 / 0 | 0 / 0 | 0 / 0 |
| Sugar, scrambled (shuffle 3) | 0 Hz | 3,937 | 3 | 0 / 0 | 0 / 0 | 0 / 0 |
| Sugar, scrambled (shuffle 4) | 0 Hz | 4,152 | 4 | 0 / 0 | 0 / 0 | 0 / 0 |
| Sugar, scrambled (shuffle 5) | 0 Hz | 4,043 | 1 | 0 / 0 | 0 / 0 | 0 / 0 |
| P9, real wiring, seed 0 | 0 Hz | 1,370 | 41 | 130 / 162 | 7 / 29 | 0 / 0 |
| P9, real wiring, seed 1 | 0 Hz | 1,037 | 25 | 146 / 132 | 11 / 21 | 0 / 0 |
| P9, real wiring, seed 2 | 0 Hz | 1,364 | 44 | 141 / 136 | 10 / 25 | 0 / 0 |
| P9, scrambled (shuffle 3) | 0 Hz | 1,055 | 4 | 130 / 162 | 0 / 0 | 0 / 0 |
| P9, scrambled (shuffle 4) | 0 Hz | 1,016 | 2 | 130 / 162 | 0 / 0 | 0 / 0 |
| P9, scrambled (shuffle 5) | 0 Hz | 1,013 | 5 | 130 / 162 | 0 / 0 | 0 / 0 |
| Left P9 only, real wiring | 0 Hz | 393 | 9 | 131 / 0 | 14 / 0 | 0 / 0 |
| Left P9 only, scrambled (shuffle 3) | 0 Hz | 393 | 2 | 131 / 0 | 0 / 0 | 0 / 0 |
- Sugar sends no walking command. With real wiring every candidate walking neuron is at 0 Hz while MN9 fires at 82 Hz; the 65 active descending neurons are other types (DNge031, DNge059, DNg103 and others). This reproduces the upstream authors' own committed sugar result (0 spikes in the same 14 neurons).
- P9 fires because we stimulate it. Its rates are identical in real seed 0 and in all three shuffles, which use the same trial seed.
- The real brain adds turning commands; the scrambled brains add nothing. With real wiring, P9 recruits DNa02, more on the right than the left in all three seeds, plus other descending types (DNa06, DNa11, DNg75, DNg97 and more). The scrambled brains recruit no mapped neuron. Left P9 alone recruits the left DNa02, the same side.
- No backward command (MDN) in any trial.
Readings, as pre-registered
- Retention (null − zero) / (real − zero) on forward distance: scrambled 1.016, brainless constant 1.025, brainless random 1.002.
- Scrambled retention ≥ 0.9: "the walk does not need the fly wiring: it comes from the stimulated command neurons and FlyGym's controller".
- Brainless-constant retention ≥ 0.9: "a brainless constant command walks as well as the brain".
- Sugar: "tasting sugar sends no walking command in this model".
- The brain does change the heading, through DNa02 and our 0.5 weight: −26°, −0.4° and −14° over the three real seeds, −14.6° for the scrambled brain (from the left–right difference of the stimulated P9 rates alone). One second of walking cannot tell a brain-made turn from noise of this size: the brainless random drives turned it by −7° to −27°.
What is FlyGym's, what is ours, what is the brain's
The new ledger row
byo-flygym-body (steering a body, open loop): real 13.93 ± 0.58 mm (3 seeds), floor 0 mm (zero drive), degree-preserving null 14.15 mm, brainless constant and random drives as no-brain baselines. By the fixed rules: No difference, retention 1.016, baseline retention 1.025, baseline not beaten, fair null, strong method. Brain activity of the scrambled brains is comparable to the real one (0.818 of its spikes).
Disclosure: the rules count 3 shuffle samples, but the three shuffles sent identical drives, so in effect this is one walk. We did not override the rules, because we never use the borderline override on our own rows. The study belongs with the Build your own record, like our 1 Oct test; the catalogue gets no new entry for it.
Limitations of the body test
- One stimulus pattern (P9 at 150 Hz on both sides), one model, one body, 1 s of walking, 3 seeds and 3 shuffles (one walk in effect).
- The mapping decides how much the wiring can matter. At 100 Hz per unit, the P9 drive sits at the 1.2 cap in most bins (90 of the 120 drive values of the six P9 walks), so forward speed can hardly differ between conditions. Another hand-made mapping could let the wiring matter more. We did not tune it, by design.
- Open loop: the body never feeds back to the brain. The brain trial runs first, and the body replays its drive.
- Not tested: the pre-registered P9 sign in the body, other P9 rates, other descending neuron types (DNa01 was at 0 Hz in every trial).
Open items from 1 Oct, settled
The gain check: not matched on 3 shuffles
On 1 Oct the degree-preserving brain of our fair test stayed silent at 1.5, 2 and 3 times stronger synapses, but no gain brought its activity within ±30% of the real brain's (9,680–17,976 spikes). This check tried ×2.5 as pre-registered. Shuffle 3 at ×2.5 fired 10,138 spikes, inside the band on the first try, so no second gain was needed. At the same gain, shuffles 4 and 5 fired 24,277 and 29,297 spikes, above the band. So the arm is not matched on 3 shuffles, and "tuned equally" stays false by the existing rule. MN9 stayed at 0 Hz in all six gain trials, from 0.37 to 2.12 times the real activity: the scrambled brains mis-route the sugar signal; they are not just too quiet. Different shuffles need different gains, which a per-shuffle gain search could settle (a candidate for a later check).
Numbers behind the chart
| Arm | What it keeps | MN9 (Hz), mean ± sd | Per shuffle (Hz) | Response kept | Activity vs real | Neurons active | Reading |
|---|---|---|---|---|---|---|---|
| Real wiring | The measured FlyWire v783 connectome | 85.2 ± 3.56 (5 trials) | 82, 89, 81, 86, 88 | 1 | 1× (13,372–14,284 spikes) | 366–385 | reference |
| Degree-preserving | Keeps partner counts | 0 ± 0 | 0, 0, 0, 0, 0 | 0 | 0.291× | 103 | silent |
| Weight shuffle | Keeps who connects to whom | 0 ± 0 | 0, 0, 0, 0, 0 | 0 | 0.388× | 109 | silent |
| Boundary-preserving | Keeps sensory and motor wiring | 39 ± 1.22 | 38, 39, 39, 41, 38 | 0.458 | 0.648× | 215 | partly |
| Sign shuffle | Swaps excite and inhibit | 214.2 ± 43.27 | 268, 188, 191, 253, 171 | 2.514 | 257.637× | 60,501 | runaway |
| Gain check on degree-preserving shuffles 3–5 (1 and 2 Oct) | As degree-preserving, with every synapse ×1.5 to ×3 | 0 at every gain | shuffle 3 ×1.5: 0, shuffle 3 ×2: 0, shuffle 3 ×2.5: 0, shuffle 3 ×3: 0, shuffle 4 ×2.5: 0, shuffle 5 ×2.5: 0 | 0 | 0.37×, 0.50×, 0.73×, 1.74×, 1.76×, 2.12× | 193, 349, 709, 4,257, 2,776, 4,104 | not matched on 3 shuffles: ×2.5 put shuffle 3 within ±30% of the real activity (10,138 spikes), shuffles 4 and 5 above it |
Notes fixed at the source
The controls data for our 1 Oct test said "Gain-matched arm: not reached (clock cut)" and "fewer shuffles than pre-registered (clock cut)". Both were stale: the gain arm ran, and all 5 pre-registered shuffles per arm ran. The data now gives the full gain bracket and says "all 5 pre-registered shuffles per arm ran". Our public copy no longer rewrites these notes.
fly-cartpole: updated to commit 077dcba
We read the author's commits between 0455e2e and 077dcba: same task and metric, the same degree-preserving null and 20 fresh seeds per arm, with both arms under the new training protocol (a posture-shaped reward and 3,000 tuning episodes). Judged like for like, the ledger now uses 077dcba: 392.5 ± 103.1 steps with the real mushroom-body wiring against 390.3 ± 96.4 shuffled (p = 0.48); frozen 18.7, a TD learner 500.0 (the ceiling), random 22.8. Retention 0.994; still no difference, fair and strong. The results file is unchanged at the current head (854fb1d).
Dropped as planned: a narrower boundary null (moved to a later check) and five more shuffles per arm (they could not change the readings).
No scoring rule changed; one display-only field added
Our 1 Oct test scores "mixed, unfair, weak" by the fixed rules, partly because the sign-shuffle brain ignites and so fires MN9 above the real rate. We did not change the effect, fairness or quality rules: only our row would change, a rule tuned now would be fitted to it, and "unfair" is the rule doing its job while the gain arm is unmatched.
Instead every ledger arm gained two display-only fields: activity_ratio (whole-brain activity, null ÷ real) and activity_class (reduced below 0.5, comparable 0.5–2, elevated 2–10, runaway above 10, or not reported). They never enter any score. Values: our fair test, degree-preserving 0.291 reduced, weight shuffle 0.388 reduced, sign shuffle 257.6 runaway, boundary-preserving 0.648 comparable; our body test, degree-preserving 0.818 comparable. All 95 other arms: not reported, because no other source reports network activity and we did no new hunting. An activity-aware rule could be adopted later only through a pre-registration made before the data it judges, or once at least 3 studies not made by us report network activity; it would then apply to every row, with before and after counts published.
What people argued about this week
Window: new items and new attention since 1 Oct 2026, 11:00 UTC. The promotion rule is unchanged: a specific, checkable claim about fly-brain-driven behaviour, new attention (for example 20,000 or more new views on a video), and no verdict yet; at most 2 claims.
| Source | Queries | Hits | Result |
|---|---|---|---|
| Hacker News stories and comments | 6 / 6 | 3 / 47 | No fly-brain story |
| Google News (7 days) | 5 | 27 | 1 in the window (MaleCNS and Doom coverage): no new claim |
| 4 | 0 | Blocked (HTTP 403), as before | |
| Dataset pages | 6 | – | No new release |
| GitHub search | 18 | 92 repositories | None with 20 or more stars (maximum 3) |
| YouTube, newest first | 17 | 259 | New uploads all under 1,400 views |
| YouTube, most viewed this week | 10, including two new: "fly brain walking", "fly brain body simulation" | 81 (50 unique) | Terraria +24,664; explainers; the two walking queries found only videos under 200 views |
| YouTube watch pages | 53 | 0 | Rate-limited (HTTP 429) from the first request; view counts were read from the search pages |
Re-checks: Gorilla Tag 623,504 views (+95,748; verdict U, no code); the Roblox fight 141,595; "Fly's Brain Played Video Games" 267,918 (+53,607; an explainer with no single checkable claim, not promoted); "THEY TRAPPED A FLY'S BRAIN" 152,904; FlyLeno's stream 44,716; the Rainbow Six short 4,754. No widely seen "fly brain learned to walk" video appeared this week.
Verdicts
Terraria: B
"I put a fly's brain into Terraria. And tried to train it" (Russian title; George Ostrobrod, uploaded 29 Sep 2026; 28,244 views on 2 Oct). Code: gitlab.com/wdf.gost/terraria-wdf-fly-brain, MIT, read at commit 9052966d of 26 Sep 2026, three days older than the video.
- What runs: the MaleCNS v1.0 connectome (166,700 neurons, 25,088,107 signed connections; the input files' checksums are enforced) as a sparse spiking model with adaptation, with reward-modulated plasticity driven by the body's own energy, water and harm signals.
- What a person chose: which sensory neuron groups receive the game's light, smell, touch, pain and balance (the author calls the receptor assignment "approximate"), and how motor neuron groups are decoded into turning, walking, feeding, grip and adhesion. Grip and adhesion have documented fall-backs when the graph lacks those neurons.
- Result: we recomputed the author's 176-life log: mean lifespan 278.4 s and the quarter means match the author's report; the median rose from 102.8 s (first 44 lives) to 163.3 s (last 44; our one-sided permutation p = 0.037, Spearman ρ 0.11).
- Control: none, as the author's own report says ("no fixed-seed control organism with plasticity disabled"). So the "learning" is not separated from luck or from changes to the world during the run.
Row updates
- Gorilla Tag 623,504 and Roblox fight 141,595 views; both stay U.
- FlyDoom (eganeganegan) returned "not found" on 1 and 2 Oct; the record is kept with its last catalogued commit.
- The fly.ai kernel behind fly-plays-games gained NFT breeding and arena code only; no re-grade.
- Is it real? gained a "Who does the walking?" section near the embodied claims. It changes no grade.
Tracking
- All 100 entries re-checked: 88 repositories by
git ls-remote(6 changed, 81 unchanged, 1 gone); every try, code and paper link checked (98 ok, 2 redirects, 3 blocked by rate limits, 1 not found: FlyDoom). - Changed repositories: acamilo-flybrain, Brain Runners, Doodle Fly and fly-naf (commit subjects only, no result change seen); fly-cartpole (above); the fly.ai kernel (NFT code only).
- All 51 videos available. Changes: 4 new entries, 2 material and 7 minor updates, 0 removed.
New entries
| Entry | Grade | Why |
|---|---|---|
| Digital Fly in Terraria | B | The promoted verdict above. MaleCNS v1.0 drives a Terraria body with plasticity; no control. |
| FlyGym + BANC v888 bridge | C | A FlyGym 2.1.0 derivative (not a download lure) with its own bridge scripts. The descending neuron it reads gets no synaptic input inside its sub-circuit, so its rate, and the one walking gain it sets for all six legs, comes from a fixed current, not the connectome; the closed-loop version drives a hand-written sine wave. No control. The closest existing design to ours; the differences are listed in our body results. |
| How much of fly walking is written in the wiring? | B | Code for a submitted manuscript comparing real MaleCNS and MANC leg networks with six families of rewired networks under coded decision rules. No results are public yet, so the grade is provisional; it could become A when they are. |
| Hidden attractor in the Shiu et al. model | A | Pre-registered plans and raw results: after a strong sugar pulse about 8,100 neurons stay active for 10 s in Shiu et al.'s own Brian2 code (3 seeds, identical in a re-implementation), and none without the pulse. |
Every new entry carries controls and wiring_effect fields (all "none" and "not tested"). Excluded: a Terraria mod by the same author with no fly brain. Deferred a second time for lack of time: three small repositories (a chess fly, a FlyLeno variant and a poker fly), plus about 30 new repositories with 0–3 stars from this week's sweep.
Gallery
51 videos re-checked, all available. Added 1: the Terraria fly, the creator's own upload (28,244 views, grade B from the catalogue). Not added: the creator's companion stream (3,072 views) and explainers that name no single entry. Thumbnails are unchanged while the owner decides between platform thumbnails and our own posters. We did not watch the new video (no browser this check).
Build your own and the package check
The beginner pins still install for Python 3.11: Brian2 2.9.0 pinned (latest 2.10.1), numpy 2.3.5 (latest 2.5.3), pandas 2.3.3 (latest 3.0.6); the lock installed cleanly in 36 s. FlyGym 2.1.0 is still the latest release and needs Python 3.12 to 3.14. The latest uv is 0.12.22; we used 0.9.0, the version of our first FlyGym test. The guide's deeper path "Add a body" is now tested, with the TMPDIR note and the FlyGym 2.0 interface warning.
Method
- Brain: Python 3.11 environment from the Build your own lock file; our fair-test worker extended with a stimulus choice and the descending-neuron recording (spike monitoring does not change the dynamics).
- Body: Python 3.12 FlyGym environment,
MUJOCO_GL=disable; our drive maker (the mapping) and body runner, then a standard-library analysis script. - Tracking and catalogue:
git ls-remote, link checks run twice (a rate-limit answer now counts as blocked, not broken), video checks, GitHub metadata for the 3 new GitHub repositories, a catalogue diff and schema validation (projects 104, videos 52, controls: 0 errors each). - Lead scan: news, GitHub and YouTube scans; view counts from the search pages because watch pages were rate-limited.
- GitHub API: 3 core calls (59 left at the start, 57 at the end) and 18 paced search calls.
- Memory: one worker at a time; brain trials peaked at 0.77 GB, body runs at 0.27 GB; the shared machine peaked at 1.94 GB; scratch peaked at 805 MB and was deleted at the end. No out-of-memory kill.
- Timing: one 48-minute session; every go/no-go passed and no time cut fired. Three optional extras were not done (flyvis numbers from the papers, a star refresh and a gap-filling gain trial).
Limitations
- The body result holds for one stimulus, one hand-made mapping and 1 s of open-loop walking (above).
- YouTube watch pages refused every request today, so video descriptions were not re-read; the Terraria claim quotes the description read on 1 Oct. X, TikTok and Reddit cannot be searched without a login.
- fly-walking-wiring's controls cannot be inspected because no results are public, so its B is provisional.
- The Terraria verdict rests on code older than the video.
Next
- Next check (no brain simulations planned): the flyvis and browser-demo checks, a re-read of fly-naf's new vision mapping, triage of the deferred repositories, and whether fly-walking-wiring's results appear (then it gets a ledger row).
- Later: a pre-registered per-shuffle gain search for the fair test; the narrower boundary null; and a second body test where wiring could matter, for example a mapping without the 1.2 cap or P9 at lower rates, plus a closed loop, written down before it runs.
- Gorilla Tag keeps growing (623,504 views) and still shows no code.
Main sources
- Brain model: philshiu/Drosophila_brain_model @ 91bdd1e7; Shiu et al. 2024, Nature 634, 210–219, doi:10.1038/s41586-024-07763-9.
- Body: NeLy-EPFL/flygym 2.1.0; Wang-Chen et al. 2024, Nature Methods, doi:10.1038/s41592-024-02497-y.
- Descending neurons: Bidaye et al. 2020, Neuron, doi:10.1016/j.neuron.2020.07.032; Bidaye et al. 2014, Science, doi:10.1126/science.1249964; Rayshubskiy et al. 2025, eLife, doi:10.7554/eLife.102230; von Reyn et al. 2014, Nature Neuroscience, doi:10.1038/nn.3741.
- Terraria fly: wdf.gost/terraria-wdf-fly-brain at 9052966d; the video.
- fly-cartpole: Curt-Park/fly-cartpole at 077dcba (results file unchanged at 854fb1d).
- New entries: arisliwind/flygym at 8a794e33; kosmoKwan/fly-connectome-wiring at c84104a; xiangdoz/fly-connectome-attractor at 07b01c8.
- Our data: controls.json (version 2026-10-02-run6), projects.json, videos.json; the chart as an image: who-does-the-walking.svg.
- Previous check: report of 1 Oct 2026.