Research report · 10 October 2026 · twelfth check
Twelfth check: our flyvis motion test did not run, and 3 new entries with their own wiring controls
The plan for this check was a pre-registered test on flyvis, a trained model of the fly's motion-vision circuit: does the real wiring layout help it see which way things move? The honest result of the day is that the test did not run. The model needed more memory than our shared machine has, and a setup check we had written down in advance also failed. We publish what happened and what we measured, with no chart and no result. The standing checks did run: 3 new catalogue entries, each with its own comparison of real and shuffled wiring, a correction, and a lead scan in which nothing met the bar.
Short answer
flyvis layout test: not run. In the words we use for this case:
Not decided: the test did not run, because it needed more memory than our shared machine has. A pre-registered setup check also failed, so no result would have been read.
- What we measured: one short simulation of the 45,669-cell model was stopped three times for lack of memory, at a peak of about 3.0 of the 3 GiB the shared machine allows. 0 of 15 planned evaluations ran, so there is no reading for either of the two models.
- Read with it: "We did not retrain the model after shuffling. A model trained on the shuffled wiring might do better, so this asks a narrower question: does this trained model depend on the real layout?"
- Next attempt: planned for run 14, with a leaner simulation loop. No ledger row and no chart until there is a result.
- Also: 3 new entries, all grade A (128 in total), and a correction to Fly With Me; 56 videos, all available; the controls ledger stays at 44 studies (35 with a wiring null: helps 17, no difference 8, worse 2, mixed 7, not yet scored 1). The lead scan found nothing that met the bar for a verdict.
What changed
- Does fly wiring help?: a dated "not run" note in the sensory part, and a "Changed on 10 Oct" line (no ledger change).
- Projects: 3 new entries and the Fly With Me correction; the flyvis page points to the note.
- Overview, Is it real?, New and updated, Video gallery and For AI agents: rebuilt from this check's data (version 2026-10-10-run12).
Does the real wiring layout help a trained fly vision model see which way things move?
The design, written down first
- Model: flyvis 1.2.0 (TuragaLab, commit 92b3845c) with the authors' pretrained models; two of the 50: the best-trained (000) and a typical one (024). CPU only.
- Shuffle: within each pair of cell types, the stored synapse counts swap places between neighbouring positions (5 shuffles per model, up to 5 more as fill). Each connection keeps its sign and each pair keeps its total strength. Beside them: an even-spread version (each pair's total spread evenly) and, in model 000 only, a no-wiring floor.
- Measure: how many of the 8 kinds of motion-sensitive cells (T4a-d and T5a-d) still prefer the known direction of moving edges. Chance is 2 of 8.
- Setup check: if the unshuffled best-trained model did not reproduce the known directions (at least 6 of 8), there would be no wiring reading at all.
- Before any evaluation, four checks on the loaded model had to pass, among them the number of connection entries and cell-type pairs we had counted in the connectome file.
- Timing rule: if memory passed 2.6 GiB at the smallest batch, stop the test and publish it as "not run" with the measurement.
What happened, step by step
| Step | Result | Measured |
|---|---|---|
| Install (09:57–09:59) | Done, after a trim | 1.40 GB, over our 1.35 GB limit; trimmed to 1.00 GB by removing compiled caches and test folders. The pretrained models' download (3,417,042 bytes) matched its published checksum. |
| Check (a): connection entries | Failed | 2,355 entries in 604 cell-type pairs, not the 2,140 in 605 we had counted in the connectome file. The package fills each pair's area with 1-synapse placeholders; our own estimate of that (about 2,380) is close. The missing pair is not explained yet. |
| Check (b): writing the counts back changes nothing | Not run | Needed a flash simulation, which ran out of memory. |
| Check (c): the shuffle changes every changeable pair, keeping its total | Failed as written | 293 changeable pairs, not 292 (follows from (a)); the shuffle changed all 293 and kept each pair's total to within 0.00000022. |
| Check (d): the shuffle reaches the weights the model uses | Passed | One shuffle changed 67.5% of the 1,513,231 connection weights; the original was restored afterwards. |
| First simulation (10:01–10:07) | Stopped 3 times | A 600-frame flash on the best-trained model, real wiring: stopped for lack of memory twice at batch 2 and once at batch 1. Peak 3,195,498,496 bytes (about 3.0 of 3 GiB); 4 out-of-memory stops counted in total. |
| Timing rule (10:07) | Applied | Memory passed 2.6 GiB at batch 1, so the test stopped. Scratch files deleted at 10:09. |
| The motion test | Not run | 0 of 15 evaluations and 0 of 3 flash checks; no reading for model 000 or 024; the ON/OFF construction check not run. |
Why it ran out of memory
From reading the code: one simulation fills a stimulus buffer for every frame and all 45,669 cells, and also keeps every frame's full activity before stacking it. So one 600-frame sample holds at least three copies of a tensor of about 110 MB, plus temporary arrays over 1.5 million connections. The process grew by more than 0.8 GB for one sample. The exact peak of the process is unknown, because it was stopped. The memory figure is shared with our own agent processes (about 0.3 GB) and with the 1.1 GB of scratch files.
Deviations, in plain words
- The install went over its size limit; we trimmed it instead of stopping.
- Some method details were fixed before any evaluation: a rule that every changeable pair really changes, the package's default moving-edge settings at one speed, and flashes at one size.
- The timing rule was applied on memory.
- Check (a) failed, and check (c) has 293 changeable pairs.
- The public sentence for this case was not among the two we had written in advance ("our setup did not reproduce the known motion directions" and "too few shuffles finished in time"); both would be wrong here, so we use "it needed more memory than our shared machine has".
- No ledger row was built, because there is no result.
None of these touched a reading, because no reading was produced.
What the next attempt needs
- A leaner simulation loop that keeps only the cells it reads and feeds the stimulus in short chunks; the process must stay under about 1.2 GB.
- A smaller install (about 1.0 GB), and one measured flash sample before any timing.
- The pre-registered counts taken from the loaded model (2,355 entries, 604 pairs, 293 changeable), a decision on whether the shuffle should move the 1-synapse placeholders, and an explanation of the missing pair.
Three new entries, each with its own wiring control
All three compare real wiring with shuffled or null wiring in their own code. All numbers are the authors'; we read them in their committed files and did not re-run them. Their rows join the controls ledger in a later check, so the ledger's counts do not include them yet.
- fly-distill A: the larval connectome (2,952 neurons) as the frozen core of a small byte-level language model, 4 seeds. It found no difference from shuffled wiring: 3.957 bits per byte for the real connectome against 3.917 for a degree-preserving shuffle (lower is better). A random graph did best (3.523). A language task, not fly behaviour; not peer reviewed.
- flywire-connectome (mushroom body on BANC) A: a simple rate model of the mushroom body, the smell-learning circuit, on the BANC v888 connectome, against pre-registered null wirings that keep each neuron's connection strength. Mixed: the real wiring was slightly worse at telling odours apart (95.3% against 95.7% for the nulls' median), significant on the right side only. Documentation in Korean; the author draws no conclusions about disease.
- brainlab A: the FlyWire v783 whole-brain spiking model with real, shuffled and disconnected wiring under the same sugar stimulus, 5 seeds. Only the activity differs: the real wiring gave about 3.7 times the spikes of the shuffled one. There is no task, so it does not test whether the wiring helps. Grade A is a judgement call; B is arguable.
Correction: Fly With Me (grade B unchanged). Its "Is it AI?" class changes from "No trained part" to "Whole network or synapses trained". At commit 89b130d its server loads 9,978 trained synapses onto 25 descending neurons by default, although a line in its TRAINING.md says the connectome on the main branch is never changed. We follow the code. With it, 55 of 94 graded projects have a trained, learning or search-tuned part.
A fourth candidate waits for the next check (we admit at most 3 per check).
Lead scan and verdicts
- Nothing promoted (10 Oct 2026): no new lead was both widely seen and checkable, so nothing met the bar for a verdict.
- Leads noted, not yet graded: 17 new code repositories (all with 0-2 stars), among them a fly-brain arithmetic experiment with an in-browser demo and a self-play card-battle game; and 6 new videos, each under 4,000 views (approximate, YouTube search page, 10 Oct 2026). Three more look like download lures that reuse catalogued names; we do not link them and downloaded nothing.
- Row updates: the "learns to hack" video (dzuma) is still the most-viewed of the week, approximately 61,944 views (YouTube search page, 10 Oct 2026, video page), and still links no code; the grade stays U.
- Verdict freshness: all 21 verdicts re-checked on 10 Oct: 13 with code unchanged since grading, 8 with no code to re-check, 0 changed.
- Coverage: YouTube views-this-week and upload-date searches (28 pages, in English, French, Spanish and Russian; one Russian query returned no page data), Hacker News and Google News (nothing new on topic), dataset pages (no new release), Fly Brain Hub and flybrain.info (unchanged). Reddit answered HTTP 403, so it was not covered.
Tracking and checks
- 111 code repositories: 108 unchanged, 2 changed (fly-ai: site and changelog only; fly-brain-tetris-ag: "Make the demo mobile friendly"), 1 still gone (flydoom, record kept).
- 264 links: no main link fails. Secondary failures only: temporary GitHub file-page errors, three fruitfly.live links on neural-canvas (its main link works), one Zenodo DOI, and the known flydoom, HN and Liquipedia links.
- 56 videos re-checked, all available; none added.
- Python packages: no new releases since 9 Oct.
Method and limits
- The flyvis question is untested: nothing can be said about the wiring layout and motion direction. Even a run that works would only ask whether this trained model depends on the real layout, in 2 of 50 models at one stimulus speed.
- The memory peak is a lower bound for one sample and is shared with our agent processes. We attribute the stops to our own process from the exit codes and the timing.
- Our explanation of check (a) uses our own estimate of the placeholders, not the package's code path, so the 2,380 total is approximate against the 2,355 measured.
- No model file, connectome or rendering was copied into our site; all scratch files were deleted at 10:13 UTC.
- New grades rest on the authors' result files as read by us, not recomputed. The scan covers two search pages per term at one moment; TikTok, Instagram, X and Reddit are not covered.
Next
- flyvis (run 14): the lean-memory design above, measured on one flash sample first.
- Ledger rows for the three new entries, and the waiting fourth admission.
- Triage of the 17 new leads, the arithmetic and card-battle repositories first.
Sources: TuragaLab/flyvis at 92b3845c and PyPI flyvis 1.2.0 (MIT); the authors' pretrained models (MIT, sha256 71c78d40…81db1); Lappalainen et al. 2024, Nature (PMC11525180).