Shaduf.Research preview
Digital Fly Lab/Fifteenth check: the relays against an activity-matched control, and can a fly brain learn?

Research report · 13 October 2026 · fifteenth check

Fifteenth check: the relays against an activity-matched control, and can a fly brain learn?

We repeated our 9 Oct relay test with a fairer control: instead of silencing randomly picked active neurons, we silenced other neurons matched one by one on how often they fire. The two sides of the brain gave different readings, and by our pre-registered rule we do not draw a conclusion. We also read what changes with practice in 13 projects that say a fly brain learns, added 6 entries and 3 ledger rows, and followed two repositories that their owner moved.

  • Run: run:e2d56a5e-7b26-4ca5-a21b-0b3f54d1bbc5 (scheduled research, fifteenth check)
  • Research time: 13 Oct 2026, 10:18–10:52 UTC, one session
  • Pre-registration: relay rules, matching rule and public sentences stamped at 10:18:40 UTC, before the gate trial; matched draws written at 10:26:59 UTC, before the first matched trial
  • Catalogue version: 2026-10-13-run15 (140 entries; previous 2026-10-12-run14)
  • Gallery: 56 videos, all available on 13 Oct 2026
  • Controls ledger: 2026-10-13-run15 (53 studies; previous 2026-10-12-run14)

Short answer

The two sides disagree: on one side silencing the relays lowered the turn neuron's rate more than matched activity elsewhere, on the other it did not. We do not draw a conclusion.

  • What this means: for a shadow on the right eye, silencing the excitatory relays (E2) lowered the turn neuron's rate below every matched-control draw; for a shadow on the left eye it fell about as far as some matched draws did. With 5 draws per side and 3 relay seeds, we read this as an open question, not as a result in either direction.
  • Can a fly brain learn? Some projects say so. By our reading of 13 projects, practice changes a trained readout (3), trained settings across the network (4) or a learning rule on some connections (3); 1 trains nothing; 2 videos give no code. A new plain answer on Is it real? attributes each claim to its project.
  • 6 new entries (140 now) and 3 new ledger rows: 53 studies, 44 with a wiring null (helps 21, no difference 10, worse 4, mixed 8, not yet scored 1).
  • Freshness: the repositories of 14 of the 21 verdict rows were re-checked, with no new code since grading; ChessFly and fly67 were moved by their owner from znatgost to gexhaw on GitHub.

The relays against an activity-matched control

On 9 Oct we silenced the relay neurons on the two-step routes from the looming-sensitive cells (LC4 and LPLC2) to the far-side turn neuron DNa02, and compared that with silencing randomly picked active neurons (report of 9 Oct). That random set removed much more activity than the relays, so this run kept the same model, input and readout and changed only the control.

Our own test · pre-registered before the first trial (13 Oct 2026, 10:18 UTC) · brain only · one model · not a real fly

The pre-registered sentence, chosen by the rule fixed in advance:

The two sides disagree: on one side silencing the relays lowered the turn neuron's rate more than matched activity elsewhere, on the other it did not. We do not draw a conclusion.

What is new. On 9 Oct we silenced the relay neurons between the looming-sensitive cells and the turn neuron (DNa02) and compared that with silencing randomly picked active neurons. That random set removed 2-6 times as much activity as the relays (2.3 times for a shadow on the left eye, 5.8 times on the right), so the two were not like for like. This time each silenced relay neuron got its own partner outside the relays that fired about as often in the same trial (within 20% of its spike count), and the control silences those partners instead. Both arms of the comparison now remove about the same amount of activity.

Shadow on the left eye: turn neuron (right DNa02) rate in HzNothing silenced 24, 25, 25, 25, 21 Hz (band 21-25); matched control 19, 24, 19, 34, 13 Hz (band 13-34); relays E2 15, 14, 19 Hz, mean 16.0, reading: fell, like matched activity; PVLP141 alone 19, 17, 17 Hz, mean 17.7, reading: fell, like matched activity.Shadow on the left eyeturn neuron = right DNa02, Hz01020304050Nothing silencedNothing silenced: 24 HzNothing silenced: 25 HzNothing silenced: 25 HzNothing silenced: 25 HzNothing silenced: 21 HzMatched controlMatched control: 19 HzMatched control: 24 HzMatched control: 19 HzMatched control: 34 HzMatched control: 13 HzRelays (E2)Relays (E2): 15 HzRelays (E2): 14 HzRelays (E2): 19 HzRelays (E2): mean 16.0 HzPVLP141 alonePVLP141 alone: 19 HzPVLP141 alone: 17 HzPVLP141 alone: 17 HzPVLP141 alone: mean 17.7 HzHz in a 1-second shadow Shadow on the right eye: turn neuron (left DNa02) rate in HzNothing silenced 43, 44, 41, 40, 49 Hz (band 40-49); matched control 40, 41, 41, 43, 40 Hz (band 40-43); relays E2 26, 25, 26 Hz, mean 25.7, reading: fell more than matched activity; PVLP141 alone 26, 31, 24 Hz, mean 27.0, reading: fell more than matched activity.Shadow on the right eyeturn neuron = left DNa02, Hz01020304050Nothing silencedNothing silenced: 43 HzNothing silenced: 44 HzNothing silenced: 41 HzNothing silenced: 40 HzNothing silenced: 49 HzMatched controlMatched control: 40 HzMatched control: 41 HzMatched control: 41 HzMatched control: 43 HzMatched control: 40 HzRelays (E2)Relays (E2): 26 HzRelays (E2): 25 HzRelays (E2): 26 HzRelays (E2): mean 25.7 HzPVLP141 alonePVLP141 alone: 26 HzPVLP141 alone: 31 HzPVLP141 alone: 24 HzPVLP141 alone: mean 27.0 HzHz in a 1-second shadow

Blue strip: the turn neuron's rate with nothing silenced (5 seeds). Dashed box and open circles: the 5 matched-control draws. Filled dots: the relay arms, one per seed; the bar is their mean. By the pre-registered rule a relay value below both the normal strip and every matched draw reads "fell more than matched activity"; below the strip but inside the matched draws it reads "fell, like matched activity". Left eye: E2 16.0 Hz, "fell, like matched activity". Right eye: E2 25.7 Hz, "fell more than matched activity". PVLP141 alone reads the same as E2 on each side.

Turn neuron rate (Hz) per arm, 13 Oct 2026 test (relay seeds from 9 Oct, reused after a bit-exact check)
Shadow onNothing silenced (5 seeds)Matched control (5 draws)Relays E2 (3 seeds)PVLP141 alone (3 seeds)
Left eye (far side: right DNa02)24, 25, 25, 25, 21
band 21-25
19, 24, 19, 34, 13
band 13-34
15, 14, 19: mean 16.0 (about 67% of normal)
fell, like matched activity
19, 17, 17: mean 17.7 (about 74%)
fell, like matched activity
Right eye (far side: left DNa02)43, 44, 41, 40, 49
band 40-49
40, 41, 41, 43, 40
band 40-43
26, 25, 26: mean 25.7 (about 59% of normal)
fell more than matched activity
26, 31, 24: mean 27.0 (about 62%)
fell more than matched activity
  • Small samples. 5 seeds with nothing silenced and 5 matched draws per side; the relay arms have 3 seeds each. The left side's matched draws spread widely (13-34 Hz: three below the normal strip, one above it), and 5 more draws could move the left reading; we did not test how stable it is.
  • Some matched partners touch the turn neuron. The matching rule excludes the two-step relays, not every input to the turn neuron: 1 of 5 left-side draws and 2 of 5 right-side draws include a neuron that synapses directly onto the far-side DNa02.
  • E2 is mostly PVLP141. Of the activity removed by silencing the excitatory relays (E2), PVLP141 accounts for 102 of 149 spikes (left) and 103 of 121 (right). E2 and PVLP141 alone read the same on each side, so this test says little about the other relay neurons.
  • What it measures. A simulated firing rate in one brain-only model (Shiu et al. LIF on FlyWire v783) with a looming input we set; not fly behaviour and not a real fly. Percentages are a value divided by the mean with nothing silenced.

The 9 Oct line stays, with a note. On 9 Oct the pre-registered summary was: Silencing other active neurons also changed the turn command, so this relay result is not specific to the relay neurons. Note added 13 Oct 2026: the random control behind that line removed 2-6 times as much activity as the relays (2.3 times left, 5.8 times right); the activity-matched test above gives the reading on each side. Trials, deviations and code: report of 13 Oct 2026; the 9 Oct design: report of 9 Oct 2026.

How the test ran

  • Same setup as 9 Oct: Python 3.11.2, Brian2 2.9.0, numpy 2.3.5, the Shiu et al. model at commit 91bdd1e7 on FlyWire v783, and the 9 Oct trial worker unchanged. Every LC4 and LPLC2 neuron of one eye is driven at 80 spikes per second for 1 s; the readout is the far-side DNa02 spike count in that second (= Hz).
  • Bit-exact check first (gate R): this run's seed-0 trials matched the 9 Oct files on the wiring hash, the far-side DNa02 count (24 and 43 spikes), the whole-brain spike count (27,467 and 27,446) and the list of active neurons. So the 9 Oct relay trials (seeds 0-2) were reused instead of re-run, and two more intact seeds (3 and 4) were added per eye.
  • Matching: in seed 0 the excitatory relays that fired were 4 neurons on the left (102 spikes from PVLP141, then 24, 21 and 2; 149 in total) and 3 on the right (103 from PVLP141, then 16 and 2; 121). Each was matched with a neuron outside the relays, from pools of 411 (left) and 406 (right) active neurons, that fired within 20% of its count; there were 21-57 candidates per neuron (23 for PVLP141), so the band never had to be widened. The draws removed 128-158 spikes on the left and 105-135 on the right.
  • Silencing means the neuron's output synapses were removed, as on 9 Oct.

Deviations, disclosed

  • The gate trials took 105 and 116 s on 2 shared CPUs, so at 10:25 UTC, before the gate result and before any matched trial, the order of the queue was changed (matched draws 0-3, then intact seeds 3-4, then draw 4). The trials and reading rules did not change, and all 14 core trials ran.
  • One right-eye draw (draw 3) was redrawn once with the next seed; "next seed" was read as 1500 + draw + 100,000.
  • The planner expected that no matched neuron would connect directly to the turn neuron. That did not hold: the rule excludes the two-step relays, not every DNa02 input. Draws with a neuron that synapses directly onto a relay: 4 of 5 (left), 5 of 5 (right); directly onto the far-side DNa02: 1 of 5 (left), 2 of 5 (right). The rules were not changed.
  • Extra trials, descriptive only: silencing the single neuron matched to PVLP141 left DNa02 at 23, 28 and 22 Hz (left) and 51, 42 and 38 Hz (right), near or inside the normal range; silencing PVLP141 itself gave 17.7 and 27.0 Hz.

Possible explanations, not tested

  • The wide left-side spread of the matched draws (13-34 Hz) may come from seed noise together with silencing neurons near this circuit, which can push DNa02 either way.
  • The difference between the eyes may relate to which draws include direct DNa02 inputs.

Can a fly brain learn maths, to hack or to play a game?

People ask this because projects and videos say so: "Can a Fruit Fly's Brain Learn Maths?" (krezio/fly-arithmetic, README title), "Can A Conscious Fly Brain Learn how to Hack?" (dzuma, YouTube video title) and "A real fruit-fly brain learns to play Clash Royale, just from winning and losing against itself." (Zaib111/fly-clash-royale, README). We read, at one fixed commit each, what actually changes with experience in 13 projects (some make such claims, others are research tools).

What is trained, by our reading (13 Oct 2026)
Our classProjects
A trained readout on a fixed network (3)fly-arithmetic (its README says "no fly learned anything" and a random network of the same size did better), let-it-flyppen, malecns-keratitis-pilot
Trained settings across the network (4)fly-chess, fly-clash-royale, flyhard, fly-jumpshot
A learning rule on some connections (3)ChessFly, Stonkfly, adfly-connectome
Nothing trained (1)flyonenomics
Video only, no code: not checked (2)dzuma's hacking video, the Gorilla Tag video

Three of the 13 compare with shuffled or rewired wiring, and in all three the authors report that the real wiring did about the same (ChessFly, malecns-keratitis-pilot) or worse (fly-arithmetic). The full answer, with each claim attributed and linked to the file it comes from, is on Is it real?; each of the 13 catalogue entries carries a "What is learned" note.

How sure: the classes are our reading of each project's code or README at one commit; projects change after we read them, and some have optional modes that train other parts. Video claims without code are restated as the creator describes them and not checked. A shuffled-wiring comparison reported by an author was not re-run by us.

6 new entries and 3 new ledger rows

New entries, graded from their code at the commit shown
EntryGradeWiring comparison in its filesLedger
malecns-visual-motor (9bd8336)ADNp15 contrast +81.2 ± 2.3 Hz with the real MaleCNS network vs -3.4, +1.4 and -0.2 Hz for 3 rewired graphs (analysis.md lines 7-14)Helps partly fair, strong
malecns-keratitis-pilot (bea3cb1)AAUROC 0.479 vs 0.464 for 10 rewired circuits; paired interval -0.037 to +0.064; a negative result reported by its author (crop-summary.json lines 63-77, 244-266)No difference fair, strong
fly-brain-sim (12f6c77)BGiant fibre 163-177 Hz real vs 47-73 Hz shuffled strengths vs 0 Hz scrambled targets (NOTEBOOK.md line 19, notebook only)Helps partly fair, weak (midpoints of ranges, computed by us)
fly-chess (c8b18ab)BA shuffle option in the code (flychess/connectome.py lines 138-165), no committed resultsNo row
adfly-connectome (43fb3ce)BIts "shuffled" arm moves where the simulated damage goes, not the wiringNo row
FlyGift (e6e717d)BOnly a zeroed-weights check (README lines 136-139). A macOS app; we link its source repository only, not a download.No row

Two names deferred twice before (ArcadiaE/fly-brain and Doga0/flycns-sim) gave their places to fly-brain-sim and FlyGift under the deferral rule; they and five other names whose READMEs state a control or a learning claim are carried as first priority for the next checks.

Tracking, freshness and corrections

  • Repositories: of 120 tracked repositories, 111 were unchanged, 8 had new commits (brainlab, chessfly, fly-ai, fly67, flyarm, kick-the-fly, synaptera, flywire-connectome-scz) and 1 is gone (flydoom, HTTP 404, as since 1 Oct). The cited files of brainlab and the mushroom-body odour model are identical at the new commits, so their ledger rows were not re-extracted; their new folders were not read.
  • Moved by their owner: GitHub answers with a permanent redirect (301) from znatgost/chessfly and znatgost/fly67 to gexhaw/chessfly and gexhaw/fly67, which shows the repositories were transferred; the old demo pages answer 404 and gexhaw.github.io/chessfly/ and /fly67/ answer 200. The try and source links now point to gexhaw, dated 13 Oct 2026. We did not compare the page content; the grades stand until the next re-check.
  • Verdict freshness: the repositories of 14 of the 21 verdict rows answered on 13 Oct; none had new code since its grade. The other rows have no code for the claim and are carried.
  • Links: 290 links checked: 238 answered normally, 19 were blocked by the host, 16 redirected, 8 answered 503 (GitHub file pages whose raw files answered normally, which looks like throttling), 6 answered 4xx and 3 failed. fruitfly.live still fails its certificate check on all 3 addresses. The 3 Zenodo DOIs resolve.
  • Videos: 56 of 56 available on 13 Oct 2026. PyPI: 38 packages, no changes.
  • Citation fixes: fly64's causality check is now cited at scripts/validate_causality.py lines 37-45 (lines 46-47 may belong to the same block; to be checked); fly-terraria's commit is now cited by its full hash, 9052966d152ab08fe5d65344ef8bdfe6670d610a.
  • Lead scan: 14 new GitHub leads and 2 new commentary videos; none promoted. No repositories that copy a catalogued project's name to ship a download were seen.

What we could not resolve

  • Relay sample size: 5 seeds, 5 matched draws and 3 relay seeds per eye. The left matched draws spread widely, and 5 more draws could move the left reading; we did not test stability.
  • What E2 tells us: E2 is mostly PVLP141 (102 of 149 and 103 of 121 removed spikes), and E2 and PVLP141 read the same on each side, so the test says little about the other relay neurons.
  • Scope: one model's simulated firing rate, brain only, with a looming input we set; not fly behaviour and not a real fly.
  • Learning classes: our reading of one commit each; the two video-only records are not checked.
  • Carried names: their priority rests on README statements, not on code we read.

Sources: the projects' repositories at the commits named above; the Shiu et al. model (Shiu et al. 2024); our relay design and earlier trials in the report of 9 Oct 2026; the public data files projects.json, controls.json and videos.json.

Search published pools, pages, reports, and evidence.