🧠 fruitfly-brain

We downloaded the complete wiring diagram of an adult fruit fly brain (FlyWire, Nature 2024) and we're running it β€” every neuron, every synapse β€” as a spiking neural network on a Mac mini in the living room. This is the lab notebook. Experiments, figures, surprises, dead ends. All of it.

139,255neurons
2.7Mconnections
33.8Msynapses
0.8Γ—faster than realtime
the anatomical fly, standing in the browser
β–Ά wake the fly real MuJoCo physics in your browser β€” ~16MB, anatomical flybody, drag to orbit Β· open full page β†—
Chapters β€” Volume I
  1. Prologue β€” a brain boots on a Mac mini
  2. The celebrities are all inhibitory
  3. Cutting the brake: a virtual APL lesion
  4. The brain is a loaded spring
  5. You can't put out the fire β€” and the brake burns first
  6. The compass is written in the wiring
  7. The bump lives β€” and it leans left
  8. We could not turn the wheel
  9. Two eyes, one mind
  10. Sight enters as words, not pixels β€” and the mind talks back
  11. One spike to jump: the Giant Fiber keeps its nerve
  12. The neck is a conversation β€” and every dialogue runs at half-duplex
  13. Twice was a coincidence: monologues and negotiations
  14. Three synapses wide, twenty synapses deep
  15. The chemical economy: inhibition guards the front door
  16. She's listening β€” but "yes" is not a reflex
  17. Synthesis: what the wiring knows
  18. The dial with no safe setting
  19. We taught it β€” and it forgot everything equally
  20. One biophysical fact buys the memory
  21. The brake's bargain: sparser is not better
  22. The correction: seed 5 fooled us
  23. Fifty-eight glomeruli, and a secret kept
  24. Finale: we built the dendrites, and the fly remembered
  25. Encore: the fly doesn't forget β€” it becomes paranoid
  26. Forgiveness, and the accidental rehearsal
  27. We tested our own prediction β€” and it held
  28. The answer costs nothing: a fly's energy budget
  29. The price of a thought is lowest at the edge of the fire
  30. Synthesis II: what the second half taught the first
Volume II β€” the visual system, navigation, and the loop
  1. The motion detector is in the wiring β€” the direction is not
  2. Twenty-three neurons can move the body β€” if they smell
  3. Two neurons hold the motion detector's leash β€” and pull it two ways
  4. The triangle is real at one gain, and the sign flip has a suspect
  5. Retraction: the sign flip was my own bookkeeping
  6. The triangle shrinks to a tenth
  7. How far does the sign bug reach?
  8. The ring works, and only alone
  9. The brake was never missing
  10. The loudest wedge, and the 100Γ— cue
  11. The right door: the compass works after all
  12. A latch, not a compass
  13. The missing multiplier was mirrored
  14. The engine is the steering wheel
  15. Break half the compass and it sharpens
  16. The gate to the optic lobes
  17. A retina with no coordinates
  18. The wiring's prediction, paid out in spikes
  19. What a visual decision costs
  20. The compass does not listen to motion
  21. The wide door was open
  22. Synthesis III β€” what a wiring diagram is for
  23. The exit is 1,305 wires wide
  24. The giant fiber is wired shut
  25. The bill re-paid, and a fly that escapes
  26. How many eyes it takes to jump
  27. Five programs, one exit, no shared core
  28. The lesion atlas: the mushroom body is optional
  29. What twenty cells buy β€” and a measurement that failed
  30. The exit is a network
  31. How fast it jumps: an urgency code
  32. Synthesis IV β€” the motor continent, and what a reflex is made of

PrologueA brain boots on a Mac mini

This book is a lab notebook: the complete FlyWire connectome of an adult fruit fly, running as a spiking neural network on a Mac mini in the living room. We poked it for nights on end. These are the experiments, the figures, the surprises, and the dead ends β€” all of it.

In October 2024 the FlyWire consortium published the first complete connectome of an adult brain: every one of the fruit fly's 139,255 neurons, and the 54 million synapses between them, traced from electron microscopy by thousands of scientists and gamers. The data is public. So we took the whole thing β€” the real wiring, with real synapse counts and real neurotransmitter identities β€” and built it into a signed sparse matrix.

On top of it runs a leaky integrate-and-fire simulation with the parameters Shiu et al. (2024) validated against living flies: resting potential βˆ’52 mV, threshold βˆ’45 mV, 0.275 mV per synapse, GABA and glutamate count as negative. One second of brain time takes 0.8 seconds of wall time.

Night-1 sanity check, reproduced: stimulate sugar-sensing neurons β†’ the feeding motor neuron MN9 fires at ~400 Hz (the fly extends its proboscis). Add bitter-sensing neurons β†’ 2 Hz (the fly refuses). The simulated brain tastes, and it says no to poison. That's when we knew this playground was real.

Chapter 1 Β· Graph scienceThe celebrities are all inhibitory

Experiment 001 Β· experiments/001_hubs.py

We asked the first question you ask any network β€” who are the hubs? β€” and every answer came back a brake. The most connected neurons in the fly brain all exist to suppress.

We ranked all 139,255 neurons by total synapse count (in + out). The answer has a theme:

#NeuronTypeNTSideSynapses
1CT1optic lobe giantGABAleft149,676
2CT1optic lobe giantGABAright148,587
3APLmushroom bodyGABAleft124,482
4APLmushroom bodyGABAright108,549
5LPi2blobula plateGABAright77,751
6Li_unknown_3lobula intrinsicGABAleft69,142
9DPMmushroom bodyDA*left54,277
Every single top hub is inhibitory. The most connected cells in the fly brain are not information highways β€” they are brakes. CT1 touches every column of the eye and keeps visual gain in check; APL blankets the entire mushroom body (the fly's memory center) and enforces sparse coding, so memories don't smear into each other. The brain's biggest investment in wiring is spent on suppression.
in/out degree distributions, log-log
Degree distributions on log-log axes. Median neuron talks to ~10 partners; the tail stretches to 6,399. The top 1% of neurons carry 19.3% of all synapse-endpoints β€” a heavy-tailed, hub-dominated network, like the internet, like social graphs. Unlike those, its celebrities exist to say quiet down.

106 neurons have more than a thousand partners. We'll meet many of them again β€” APL in particular is destined for a virtual-lesion experiment: what happens to memory sparseness when you silence the brain's biggest brake?

Chapter 2 Β· Virtual lesionsCutting the brake: an APL lesion

Experiment 002 Β· experiments/002_apl_lesion.py

We cut the brain's biggest brake β€” APL, one neuron per hemisphere β€” and the memory code saturated on cue: a landmark optogenetics result reproduced with two lines of linear algebra. The dose sweep also leaked an accidental discovery that shapes half of this book.

Chapter 1 crowned APL: one giant GABAergic neuron per hemisphere, blanketing the mushroom body. In real flies, silencing it destroys sparse coding β€” activity smears everywhere and the fly can no longer tell similar odors apart (Lin et al. 2014).

The lesion is brutally simple: zero out APL's rows and columns in the matrix β€” the connectome equivalent of a laser. Then puff a virtual odor (a random subset of antennal-lobe projection neurons at 100 Hz) at both brains and count which of the 5,177 Kenyon cells respond.

KC sparseness with and without APL
Left: fraction of Kenyon cells recruited by the same odor. Right: firing-rate distribution of the active ones. Two neurons out of 139,255 are holding the memory center's coding capacity together.
Silencing 2 neurons de-sparsifies 5,177. With APL intact, the odor recruits 77% of Kenyon cells; without it, 96% β€” near-total saturation, and mean KC rates jump +45% (270β†’390 Hz). The direction and the mechanism match the fly experiments: one cell per hemisphere is the difference between a memory code and white noise. Robust across stimulus doses (13 to 100 PNs, 30–100 Hz β€” same picture).
Honest caveat, and an accidental discovery. Real Kenyon cells are ~5–10% active per odor; our intact baseline is already 77%. The Shiu model has no spontaneous-rate tuning or per-neuron thresholds, so the excitation/inhibition balance runs hot. And the dose sweep revealed something bigger: the network's response barely depends on stimulus strength β€” even 13 neurons whispering at 30 Hz ignite ~5M spikes/s of brain-wide reverberation. The connectome, driven with uniform parameters, sits in a self-sustaining regime. That smells like a phase transition waiting to be mapped β€” which is exactly where a later chapter goes: dial the synaptic weight and find the critical point.

Chapter 3 Β· DynamicsThe brain is a loaded spring

Experiment 003 Β· experiments/003_phase_transition.py

We pulled chapter 2's loose thread: dial every synapse by a gain factor and the brain snaps between exactly two states β€” silence and wildfire β€” with nothing in between. The connectome's own weights sit far above the edge. The anatomy is a loaded spring.

The network's response barely depended on how hard we pushed it, so we mapped that properly. The protocol: scale every synapse in the brain by a gain factor g (nominal Shiu weight = 0.275 mV per synapse = g 1.0), kick the sugar neurons for just 100 ms, then let go β€” and watch whether activity dies out or feeds itself.

ignition curve and population traces
Left: brain-wide firing rate measured 250 ms after the stimulus ended, as a function of synaptic gain (log scale). Right: population traces β€” gray band is the 100 ms kick. Below the transition the brain swallows the kick and goes silent; above it, the kick never ends.
There is a sharp ignition threshold at g β‰ˆ 0.22 β€” and the real brain sits 4–5Γ— above it. Below g 0.2, activity always dies within milliseconds of stimulus offset. Above g 0.24, a 100 ms whisper to a few dozen sugar neurons leaves the entire brain roaring at millions of spikes per second, indefinitely. The transition is discontinuous and all-or-nothing: we never observed a partially-lit brain. Right at the edge it becomes probabilistic β€” at g 0.22 the same kick ignites in 2 of 5 random trials, at g 0.24 in 5 of 5. Two attractors coexist: silence and wildfire, and near the critical point the Poisson dice decide which basin you land in.

This is the signature of a first-order phase transition with bistability β€” the same math as a supersaturated vapor waiting for a nucleation site. And it reframes the model's biggest flaw as its most interesting property: at nominal parameters the connectome is a loaded spring. Real flies clearly don't live at 5M spikes/s, so whatever keeps a real brain subcritical β€” adaptation, synaptic depression, neuromodulation, inhibitory plasticity β€” is precisely what the wiring diagram alone doesn't capture. The anatomy wants to burn; physiology spends its life saying not yet.

Chapter 4 Β· DynamicsYou can't put out the fire β€” and the brake burns first

Experiment 004 Β· experiments/004_adaptation.py

We gave every neuron fatigue, hoping physiology's favorite damper would relax the spring. It can't β€” the fire simply rotates through rested tissue β€” but the failure exposed something better: under fatigue, inhibition breaks first, and the fly eats the poison.

We gave every neuron spike-frequency adaptation β€” each spike adds b mV of self-inhibition that decays over 100 ms. Real neurons do this; it's the classic mechanism that makes them respond to change rather than steady state. Then we repeated the kick-and-release at nominal gain.

adaptation sweep and behavior test
Left: kick-and-release population traces as adaptation strengthens. Right: the feeding circuit's verdict β€” MN9 firing under sugar (green) vs sugar+bitter (purple) at increasing adaptation.
Adaptation throttles the wildfire but cannot extinguish it. The rest-to-threshold gap is 7 mV. Adaptation at b=1 mV/spike: still 37 Hz/neuron of self-sustained fire. At an absurd b=32 mV β€” every spike costing 4.6Γ— the entire firing threshold β€” the brain still burns at 10 Hz/neuron, forever. With 2.7M recurrent connections, there is always a rested subpopulation ready to carry the flame: the fire rotates through the tissue faster than fatigue can catch it. Single-neuron fatigue cannot stabilize this network. Dead end β€” a beautiful one.
The real discovery: under fatigue, inhibition fails first. The behavior test (1 s of real tasting) shows adaptation is not neutral β€” it's selectively dangerous. At b=0.5 and b=1.0, behavior is intact: sugar drives MN9, bitter vetoes it (2–3 Hz). But at b=2.0 the veto breaks: MN9 fires at 162 Hz despite the poison. The bitter pathway runs through tonically active inhibitory interneurons β€” the neurons that fire the most, so they fatigue the most. Push adaptation too hard and the fly eats the poison. Safety-critical circuits are precisely the ones that can't afford to get tired β€” which may be why real brains implement suppression with dedicated, metabolically robust giants like APL and CT1 (Chapter 1) instead of spreading the job thin.

Verdict for the model: the sane operating point isn't reachable by adaptation alone β€” inhibitory architecture, not fatigue, is what a subcritical brain needs. Next branches: either give inhibition structural help (E/I-specific gain), or leave dynamics for a while and go hunt the ring attractor in the central complex.

Chapter 5 Β· ComputationThe compass is written in the wiring

Experiment 005 Β· experiments/005_ring_attractor_structure.py

Attractor theory demanded a cosine connectivity kernel for the head-direction compass two decades before this data existed. We sorted the raw anatomy by heading address and there it was: corr = 0.94. Nobody tuned anything.

The fly carries a compass in its head: EPG neurons in the ellipsoid body hold a single bump of activity whose position tracks heading β€” a physical ring attractor, one of the most beautiful objects in neuroscience (Kim et al. 2017). Theory says a ring attractor needs exactly two ingredients: local excitation (neighboring headings support each other) and long-range inhibition (opposite headings suppress each other) β€” a cosine-shaped connectivity kernel. The community annotations give each EPG a wedge address (EPG_L1…L8, R1…R8 β†’ heading angle), so for the first time we can just… look.

We took the 46 wedge-addressed EPGs and the 36 Delta7 interneurons (the proposed inhibition layer), and computed two matrices: direct EPG→EPG connections, and the signed two-hop path EPG→Δ7→EPG. Then we averaged connection strength as a function of the angular offset between the two neurons' headings.

EPG connectivity matrices and cosine profile
Left: direct EPG→EPG synapses, neurons sorted by heading. Middle: the signed two-hop path through Delta7 — blue is net inhibition. Right: connection strength vs heading offset. The purple curve is the textbook ring-attractor kernel, measured from raw anatomy.
The cosine kernel is real: corr(profile, cos Ξ”ΞΈ) = 0.94. Direct EPGβ†’EPG connections excite neighbors (r = 0.50, local and patchy). But route the signal through Delta7 and the profile snaps onto a near-perfect cosine: same-heading wedges get net support, opposite-heading wedges get suppressed at up to βˆ’708 synapse-equivalents. Nobody tuned this. It's not a fit to neural recordings β€” it's 33.8 million synapses of raw electron-microscopy anatomy, sorted by an address label, reproducing the exact kernel that attractor theory demanded two decades before the data existed.

Structure confirmed. The obvious next question is dynamics: if we drop a bump of activity onto this ring in the full simulated brain β€” surrounded by the wildfire of Chapter 3 β€” does it persist? Does it drift? Can PEN neurons rotate it like real turning does? That's the next experiment.

Chapter 6 Β· ComputationThe bump lives β€” and it leans left

Experiment 006 Β· experiments/006_bump_dynamics.py

We switched the compass on. Eighty-two neurons of raw anatomy held a memory of heading for a full 900 ms after the cue vanished β€” and drifted the same βˆ’18Β° counterclockwise every single time. The ring works, and it carries a hardware fingerprint.

Chapter 5 found the compass's blueprint; now we switch it on. We isolated the 82-neuron ring circuit (46 EPG + 36 Delta7), gave the EPGs gentle tonic background drive (the stand-in for ring-neuron input they'd receive in vivo), flashed a 100 ms cue at heading 0Β°, and let go for 900 ms.

bump heatmap and coherence traces
Left: EPG activity by heading over time (blue dots = population vector angle); green line marks cue offset. Right: bump coherence β€” how concentrated activity is at one heading β€” at three synaptic gains.
The anatomical ring holds a memory. At the connectome's own nominal gain, the bump survives the full 900 ms after the cue vanishes β€” a working memory of heading, sustained by 82 neurons of raw anatomy. And the operating window is exactly where theory puts it: at half gain the ring dies (silence), at double gain it saturates (coherence drops 0.52β†’0.38 as excitation smears the bump). The connectome's actual weights sit in the narrow regime where a bump is stable. Attractor dynamics, from a wiring diagram.
The unexpected part: the drift is not random. Across six random seeds the bump lands βˆ’18°±2 from the cue β€” always counterclockwise, always the same distance. Random noise would scatter; this doesn't. The anatomical ring has a built-in rotational bias β€” some wedge's connections are slightly stronger, a hardware asymmetry that would make this fly's compass systematically mis-set by one third of a wedge. Real flies presumably calibrate this away with plasticity from visual feedback; the naked anatomy still carries the fingerprint. (It also whispers ahead to the PEN neurons β€” the cells whose job is rotating the bump. Asymmetric PEN drive is next.)
Caveats, honestly: EPG rates in the bump run ~220 Hz (real bumps: tens of Hz) β€” the isolated circuit lacks the ring neurons that normally set the operating point, and our tonic drive is a crude stand-in. And the first attempt used background drive 4Γ— too strong: perfect saturation, coherence 0.04, no bump at all. The ring is picky about its inputs β€” which is itself information.

Chapter 7 Β· ComputationWe could not turn the wheel

Experiment 007 Β· experiments/007_steering.py β€” a dead end, documented with respect

With a stable bump in hand we tried to steer it, the way a turning fly does. Three escalating attempts, zero degrees of rotation: in this model there is no operating point where the compass turns. The failure taught us where structure ends and physiology begins.

With a stable bump in hand, the next move was obvious: steer it. In a turning fly, PEN neurons on one side of the protocerebral bridge fire harder, and their Β±45Β°-shifted projections back to the ellipsoid body drag the heading bump around β€” that's how the compass integrates rotation. The connectome has the players: 43 glomerulus-addressed PENs (22 left, 21 right). We added them to the ring circuit and drove one side.

Everything failed, in an instructive sequence. Attempt 1: add PENs as-is β€” the EPG⇄PEN loop is so strongly recurrently excitatory that PENs hit 477 Hz at rest and the bump shredded instantly (coherence 0.52 β†’ 0.07). Attempt 2: hyperpolarize PENs, βˆ’4 to βˆ’40 mV below rest β€” no effect; the bump's own excitation blows through any static bias. Attempt 3: gate PEN output instead (velocity-gating, closer to biology) and apply a 50% left/right asymmetry:

steering parameter scan
The scan that killed the idea: below PEN scale 0.05 the bump survives but asymmetric drive rotates it ~1Β° β€” nothing. At 0.08 and above, the bump is destroyed. There is no window where PENs both preserve the bump and move it.
In this model, there is no operating point where the compass turns. The gap between "PENs too weak to matter" and "PENs destroy the attractor" is empty. Why? Our LIF neurons are memoryless threshold units with uniform weights β€” real PEN steering relies on machinery we don't have: conductance-based gain modulation (multiplying the bump signal by velocity, not adding to it), plausibly dendritic nonlinearities, and the calibrating plasticity from Chapter 6. The anatomy holds the ring (Ch. 5, 6) β€” but the rotation is a genuinely physiological computation. A wiring diagram alone knows where you're facing; it takes biophysics to know you're turning. That asymmetry β€” statics from structure, dynamics from physiology β€” might be this whole project's thesis forming.

We're leaving the compass here with its dignity intact and switching branches β€” Chapter 8 zooms all the way out: community structure and left-right mirror symmetry of the entire 139k-neuron graph.

Chapter 8 Β· ArchitectureTwo eyes, one mind

Experiment 008 Β· experiments/008_communities.py

We handed the raw graph to a community-detection algorithm β€” no anatomy, no labels β€” and it drew the textbook back at us. And the map came with a headline: vision is computed twice, once per eye; cognition is computed once, together.

After three chapters inside one circuit, we zoomed all the way out and asked the graph itself to draw the brain's map. Leiden community detection on all 139,255 neurons and 2.5M weighted connections β€” no anatomy, no labels, just wiring density. Sixteen seconds later it handed back 13 major communities covering 95% of the brain (modularity 0.67).

community composition and midline crossing
Left: what each blind community is made of (fraction per anatomical super-class). Right: the midline test β€” % of each community's neurons on the left side. Optic communities pin to 0% or 100%; central-brain communities sit at the dashed 50% line.
The graph rediscovered the textbook, blind. Community C3 is the smell-to-memory pathway as a single unit: 5,085 Kenyon cells + 2,167 olfactory sensors + 648 projection neurons + 517 lateral-horn neurons β€” the exact relay chain of Chapters 2's circuit, found by edge density alone. C8+C12 are the central complex (navigation, the compass of Chapters 5–7 plus its TuBu visual inputs). C11 is taste + touch. Nobody told the algorithm what a mushroom body is; the anatomy is simply true at the graph level.
And the midline result is architecture in one picture: the fly has two eyes but one mind. Every optic-lobe community is β‰₯97.7% single-hemisphere β€” eight separate visual machines, four per eye, that essentially never talk across the midline at this level. Every central-brain community sits at 50–53% left β€” perfectly bilateral, hemispheres fused into single functional units. Vision is computed twice in parallel; cognition is computed once, together. (The one hybrid: C6, an optic community that's only 48% optic β€” the lobula's interface layer where sight hands off to decision.)

This gives the project a map. Every community is a future chapter: C5's auditory/mechanosensory block, the ventral-cord motor interface, C6's sight-to-decision seam. Depth next: pick the seam and trace how vision enters the mind.

Chapter 9 Β· ArchitectureSight enters as words, not pixels β€” and the mind talks back

Experiment 009 Β· experiments/009_visual_seam.py

We surveyed the border where sight enters the mind. Everything the fly ever sees squeezes through a 10:1 funnel β€” not as pixels but as a vocabulary of named feature channels β€” and a third of the border traffic flows the other way. Vision is a negotiation, not a pipeline.

Chapter 8's map showed vision and cognition as separate continents. This chapter surveys the border crossing. First attempt embarrassed us: using only the optic label we found a laughable 2,449 crossing synapses β€” because FlyWire's taxonomy names the seam itself: 7,684 neurons classed visual_projection whose entire job is carrying the eye's output inward, and 522 visual_centrifugal neurons carrying messages back out.

visual funnel and VPN types
Left: the funnel β€” 77,873 optic neurons compress through 7,684 VPNs into the 32,381-neuron central brain. Right: the picture travels as named feature channels β€” lobula columnar types, each a population encoding one visual concept.
The seam is airtight and the compression is 10:1. Direct opticβ†’central synapses: 2,449 β€” a rounding error against 11.9M internal optic synapses. Everything the fly ever knows from its eyes squeezes through the VPN layer (2.0M synapses in, 1.5M out). And what crosses isn't an image. It's a vocabulary: LC12 and LC17 (small-object detectors), LC10 (the courtship tracking channel, 545 neurons), LPLC2 (looming β€” the escape trigger), LC11, LC15… each type a population shouting one visual word: "small thing moving", "expanding shadow", "conspecific nearby". The eye doesn't send video to the brain; it sends annotations. (Traffic is correspondingly democratic β€” 893 VPNs for half the mass, vs. the taste system's 15-neuron chokepoints.)
The surprise: feedback at the seam runs at 53% of feedforward. The central brain sends 584k synapses back into the optic lobes through the centrifugal system β€” more than a third of all border traffic flows toward the eye. Vision in the fly is not a pipeline; it's a negotiation. The brain tells the eye what to look for β€” attention, gain control, behavioral state β€” with half the bandwidth the eye uses to answer. Any model of "the fly sees X" that ignores this back-channel is modeling half a conversation.

Nine chapters in, the atlas keeps paying out. Candidate next moves: simulate a looming stimulus through LPLC2 and hunt for the giant-fiber escape reflex (structureβ†’dynamics again, but on a pathway with a famous 60 ms behavioral deadline), or profile the descending-neuron bottleneck β€” how 100k neurons of brain compress onto 1,305 wires to the body.

Chapter 10 Β· BehaviorOne spike to jump: the Giant Fiber keeps its nerve

Experiment 010 Β· experiments/010_escape_reflex.py

We raced the fly's most famous reflex inside the full simulated brain: loom fires the Giant Fiber in 4 ms, while an equally violent courtship stimulus β€” igniting the brain even harder β€” never fires it once. One neuron keeping its nerve through a firestorm.

Chapter 9 found the eye's vocabulary. This chapter tests the most famous word in it: loom β€” the expanding shadow of something about to hit you. In a real fly, loom detectors (LPLC2, LC4) converge on the Giant Fiber, the thickest, fastest neuron in the animal; one GF spike = one jump, ~60 ms from shadow to takeoff. The connectome has exactly two GFs, one per side. We ran the race in the full 139k-neuron brain: 300 ms of loom (457 LPLC2+LC4 neurons at 200 Hz) versus 300 ms of courtship (692 LC10 neurons, same drive) as control.

giant fiber response to loom vs courtship
Brain-wide activity for both stimuli (both ignite the usual Chapter-3 firestorm) β€” but the GF spike marks appear only in the loom condition, at t=4 ms.
The reflex works, and it is absurdly selective. Anatomy first: LPLC2β†’GF 811 synapses, LC4β†’GF 718 β€” a fifth of the GF's total input budget (8,021) spent on these two words. LC10β†’GF: zero. Dynamics: loom fires the GF 4 ms after stimulus onset β€” one synaptic hop at full anatomical convergence, comfortably inside the fly's 60 ms behavioral deadline (the rest is muscles). The control is the beautiful part: the courtship run ignites the brain harder (1.97M vs 1.91M total spikes, the whole tissue burning at ~5.7M spikes/s) and through all 350 ms of that firestorm the GF never fires once. Chapter 3 said the brain is supercritical chaos; the GF sits in the middle of it with a fifth of its dendrite reserved for two specific words, deaf to everything else.
And it fires exactly once. Not a burst β€” a single spike at t=4 ms, then silence, even as loom drive continues for another 296 ms. The jump command is all-or-nothing with built-in refractoriness at the network level, exactly what you want from a decision you can only make once (you're airborne after). The connectome doesn't just wire the reflex; it wires the debounce.

Ten chapters. The arc so far: a brain that wants to burn (3, 4), circuits that compute anyway β€” memory sparsening (1, 2), a compass that stores heading (5, 6) but can't turn without biophysics (7), a two-eyes-one-mind architecture (8) speaking in feature-words (9), and a jump reflex that keeps its nerve inside the fire (10). Plenty of map left: the descending bottleneck, the auditory block, neurotransmitter economics, energy budgets…

Chapter 11 Β· ArchitectureThe neck is a conversation β€” and every dialogue runs at half-duplex

Experiment 011 Β· experiments/011_descending.py

We audited the neck β€” the 1,305 wires that carry every command the fly will ever issue. The command layer coordinates with itself, reflex arcs bypass the brain entirely, and the body talks back on every channel.

Everything the fly ever does β€” walk, fly, groom, sing, jump β€” leaves the brain through 1,305 descending neurons (DNs) crossing the neck into the ventral nerve cord. Meanwhile 2,362 ascending neurons carry the body's report back up. This chapter audits both directions of the neck.

DN input composition, concentration, ascending targets
Left: who writes the body's orders (source of DN input mass). Middle: 147 of 1,305 DNs carry half the total command signal. Right: where the body's report lands.
The command is written by the mind, coordinated among the commanders, and short-circuited by reflexes. 67.8% of DN input comes from the central brain. But the next two entries are the story: 11.4% is DNβ†’DN β€” the command layer talks to itself, coordinating motor programs laterally before they ever leave the head. And 10% comes straight from ascending neurons: body-state feedback wired directly onto the command wires. Flip it around: 18.6% of everything the body sends up gets routed directly back down β€” brain-bypassing reflex arcs, the fly's equivalent of a spinal reflex, sitting right there in the synapse table. Vision, for all of Chapter 9's machinery, writes only 6.9% of the final command directly. Command is concentrated but not autocratic: 147 DNs carry 50% (the top listeners: DNa/DNg steering and aSP3-like neurons at 11–13k input synapses each β€” an order of magnitude above the Giant Fiber's lean 8k. The GF is fast because it listens to almost nothing).
The resonance: the body answers at 0.54Γ— command bandwidth β€” the eye answered at 0.53Γ—. Two completely different interfaces β€” retina↔brain (Ch. 9) and brain↔body β€” and both dialogues settle at the same ratio: forward channel double the reverse. Once is anatomy, twice is a hypothesis: perhaps ~2:1 is what a stable sensorimotor negotiation costs in this architecture β€” enough feedback to steer the forward stream, not enough to oscillate. A third interface would make it a law; candidates: the mushroom-body's DAN feedback loop, or the antennal lobe's centrifugal system. Filed for a future chapter.

Chapter 12 Β· ArchitectureTwice was a coincidence: monologues and negotiations

Experiment 012 Β· experiments/012_dialogue_law.py β€” a hypothesis, properly killed

Two interfaces answered at the same ratio, and we smelled a law. There is no law β€” but the autopsy of the hypothesis found something better: the brain speaks in three registers. Sensation is a lecture, memory is a dictation, thought is an argument.

Chapter 11 ended with a seductive number: the eye answers the brain at 0.53Γ— and the body at 0.54Γ—. Two independent interfaces, same ratio β€” was 2:1 a design constant? Good hypotheses deserve honest executions. We measured the feedback/forward ratio for every major conversation in the brain: four more named interfaces, then all 40 community-to-community dialogues from Chapter 8's atlas.

distribution of dialogue ratios
All 40 major inter-community dialogues, by symmetry ratio. The eye (0.53) and neck (0.54) sit mid-distribution β€” nothing special. Median 0.62, full spread 0.20β†’0.99.
There is no 2:1 law. The dialogue ratios spread across the whole range β€” median 0.62, from 0.20 to a nearly symmetric 0.99. Our two data points were mid-pack coincidence. Filed under: the brain does not owe your pattern-matching anything.
But the autopsy found the real taxonomy: the brain speaks in three registers. Monologues β€” the memory-write pathways are one-way streets to a degree the community analysis never touches: KCβ†’MBON runs 169,931 synapses forward, 178 back (ratio 0.001); olfactoryβ†’PN is 0.004. Where information must be stored faithfully, feedback is banished β€” you don't let the archive edit the witness. (The DAN reinforcement loop reaches KCs at just 0.01 β€” teaching happens through a whisper channel a hundredfold thinner than the data stream.) Lectures β€” sensory interfaces run 0.3–0.55: the forward stream dominates but the listener steers (eye, neck, brainβ†’CX at 0.40). Negotiations β€” the central-brain communities talk among themselves at 0.6–0.99, peer conversations with no fixed direction. Sensation is a lecture, memory is a dictation, thought is an argument.

Twelve chapters, three of them dead ends or falsifications (4, 7, 12) β€” which feels like the right ratio for honest work. The register taxonomy suggests the next question: where does the arrow of information actually point? A global flow hierarchy β€” rank every neuron by feedforward depth, sensory to motor β€” would put a number on "how deep" the fly's processing goes.

Chapter 13 Β· ArchitectureThree synapses wide, twenty synapses deep

Experiment 013 Β· experiments/013_depth.py

We measured how far the fly's thoughts travel. Both answers are true at once: the whole brain is three synapses wide β€” the median exit sits two hops from sensation β€” yet the typical signal circulates twenty synapses deep before it matters. A reflex spine wrapped in a deliberation cloud.

Chapter 12 sorted the brain's conversations; this one asks where the information arrow actually points, two ways. First the shortest road: breadth-first search from all 17,550 sensory neurons along every connection of β‰₯5 synapses. Then the typical road: a continuous hierarchy where each neuron sits one step above the weighted average of everyone talking to it, senses anchored at zero β€” recurrence included.

hop depth histogram and hierarchy ladder
Left: hops from the senses β€” 60% of the brain hears the news in 2 hops, 96% in 3, everything by 6. Right: the hierarchy ladder by super-class, recurrence included.
The brain is three synapses wide. From any sensation, 60% of all 139k neurons are reachable in two hops, 96% in three, the whole brain in six. And the exits are shockingly close: the median descending neuron β€” a command wire to the body β€” is 2 synapses from sensation. The fly can go from world to action across two synapses; Chapter 10's 4 ms Giant Fiber wasn't an exception, it's the architecture. There is no long pipeline. The pipeline is a myth.
But the brain is twenty synapses deep. The recurrence-weighted ladder tells the other half: the typical signal doesn't take the shortest road. Central brain sits ~20 equivalent synapses above the senses, the central complex at 28 β€” information that reaches a compass neuron has typically been chewed on through twenty rounds of recurrent circulation. The mushroom-body pathway climbs the ladder in textbook order: PN 6.5 β†’ Kenyon cell 7.8 β†’ MBON 13.4 β†’ DAN 16.6 β€” perception, storage, readout, evaluation, each a flight higher. The two numbers together are the design: a 3-hop reflex spine wrapped in a 20-deep deliberation cloud. Fast path for survival, slow churn for meaning β€” the same signal gets both.

A methods honesty note: the ladder inflates wherever circuits are recurrent (the optic lobe's internal loops push it to 21 despite being sensory-adjacent), so we read it as "how much circulation above the senses", not literal steps β€” that's exactly what makes the 3-vs-20 contrast informative rather than contradictory.

Chapter 14 Β· ChemistryThe chemical economy: inhibition guards the front door

Experiment 014 Β· experiments/014_chemistry.py

We audited the brain's six chemical currencies. Dale's law holds, the brake budget is spent at the front door β€” sensory input is 74% inhibitory, the hot interior only 39% β€” and the rare modulators buy reach, not volume: 119 octopamine neurons hold a 32Γ— megaphone.

Every synapse in the dataset carries a predicted transmitter β€” six currencies in the fly's economy. ACh excites; GABA and glutamate inhibit (the fly's quirk); dopamine, serotonin and octopamine modulate. This chapter audits the books.

chemical budget, Dale's law audit, modulator reach
Left: the budget β€” 57% ACh, 24% GABA, 17% GLUT, ~2% for all three modulators combined. Middle: Dale's-law audit, log scale. Right: rare currencies, long reach.
Dale's law holds β€” the median neuron is a purist. Of 129,351 spiking senders, the median output purity is a perfect 1.00 and 80% are >90% single-transmitter (the impure tail is at least partly the classifier's noise, not biology's). One neuron, one word for it.
Inhibition is spent where the data enters. Fraction of input that is inhibitory, by tissue: sensory neurons 74% β†’ ascending 54% β†’ motor 50% β†’ descending 44% β†’ central brain 39%. A clean gradient, and it's the senses β€” not the deep brain β€” that live under the heaviest inhibitory guard. The brain spends its brake budget at the front door: gain control, adaptation, filtering β€” the war on raw input is fought at the border, so the interior (which Chapter 3 showed is one spark from a firestorm) can afford to run hot. It also re-frames Chapter 4: the interior isn't just flammable, it's chosen to be β€” the design puts the extinguishers at the entrances.
The rare currencies buy reach, not volume. All modulators combined are 2% of the synapse budget, but count neurons with each dominant transmitter: 119 octopamine neurons reach 3,776 listeners β€” a 32Γ— fan, the fly's adrenaline system, a tiny crew with a megaphone (the top three are the literature's own OA-VUM neurons, ~370–390 targets each). Dopamine: 862 neurons β†’ 5,820 listeners (7Γ—). And a familiar face: the top dopamine broadcaster by audience is the APL β€” Chapter 2's sparsity brake, moonlighting in the modulator economy (669 targets). The fast currencies carry the message; the rare ones set the mood of whole rooms at once.

Chapter 15 Β· BehaviorShe's listening β€” but "yes" is not a reflex

Experiments 015/015b Β· experiments/015_song.py, 015b_latency.py

We played the female fly her courtship song. The simulation rediscovered a real escape pathway we didn't know to look for β€” sound goes straight to the legs β€” but her "yes" neuron fired at everything. Escape is a race; acceptance is a state, and a memoryless brain cannot hold one.

The FlyWire fly is female, and her most consequential circuit is in the data: 166 song-tuned ear neurons (JO-B), ten pC1 cells (the courtship-state hub), and exactly two vpoDN β€” the neurons whose firing means yes (they command vaginal plate opening, the acceptance gesture). We played her song (drove JO-B) versus threat (loom) in the full brain and watched the yes-wire, the egg-laying wire, and the jump-wire.

female brain: song vs loom across four readouts
Four readouts under song vs loom. GF is perfectly selective (loom only in the long run). vpoDN fires to everything β€” in a memoryless LIF brain, the acceptance decision washes out into the Chapter-3 firestorm.
An accidental rediscovery: the ear is wired to the ejector seat. Under song, the Giant Fiber fired at 5 ms β€” before any "courtship" interpretation existed. We chased the anatomy: JO-B reaches the GF through 191 two-hop routes (11.4k synapse-weighted mass), and the top mediators are AMMC-B1 neurons plus a cell literally labeled "GF input neuron". This is the documented vibration-escape pathway β€” flies jump at sudden sounds β€” and the sim found it before we knew to look. Sound doesn't just carry song; it carries bang, and bang goes straight to the legs.
The honest negative: acceptance has no latency race to win. The yes-anatomy is crisp β€” pC1β†’vpoDN is 516 synapses, a third of vpoDN's entire 1,582-synapse dendrite, and JO-Bβ†’vpoDN is only 3 hops. But in simulation vpoDN fired for song and loom alike (~67 Hz both), and its first-spike times scattered (9–60 ms across seeds) while the GF's stayed tight (2–5 ms). The difference is the point: escape is a race, acceptance is a state. Real pC1 integrates song over minutes, holds persistent activity, weighs mating history through neuromodulators β€” everything our memoryless 139k-LIF brain cannot hold (the same wall as Chapter 7's un-turnable compass: fast excitatory skeleton simulable, slow state biology not). The connectome shows you where "yes" is written; it cannot show you her deciding.

Fifteen chapters, and a theme has hardened into a thesis: the connectome is the brain's fast skeleton. Reflexes, filters, funnels, attractor scaffolds β€” all legible in the wiring. States, moods, decisions β€” the things that make behavior hers β€” live in chemistry the wiring only hints at. Good candidate for a synthesis chapter.

Chapter 16 Β· SynthesisWhat the wiring knows

Experiment 016 Β· experiments/016_synthesis.py β€” the capstone

Sixteen chapters ago this was a 57 MB download. This is the map we can now draw of a fly's mind β€” with receipts β€” and the clean boundary we found: the connectome is the brain's fast skeleton, and everything it couldn't do was a kind of state.

the map of the fly's mind β€” communities, flows and registers
The fly's mind as measured: 13 blindly-discovered communities placed anatomically, edges weighted by real synapse mass and colored by conversational register. Every annotation is a chapter.

Sixteen chapters ago this was a 57 MB download. What we can now say, with receipts:

1 Β· The anatomy is real at the graph level. Blind community detection rediscovers the mushroom body, the central complex, the taste system, and the two optic lobes (ch. 8) β€” the anatomist and the graph agree without being introduced.

2 Β· The architecture is two eyes, one mind, few doors. Vision computes twice, one-sided to 99.9%; cognition fuses at the midline (8). Between them, an airtight 10:1 funnel speaking ~30 feature-words (9). At the back, 1,305 command wires with reflex arcs soldered straight across (11). Action is never more than a few synapses away β€” the median exit sits 2 hops from sensation (13).

3 Β· The dynamics run hot on purpose. The excitatory skeleton is supercritical β€” one spark, whole-brain fire (3); inhibition can't stop it and dies first (4). But the extinguishers are positioned at the entrances: 74% of sensory input is inhibitory vs 39% deep inside (14). Inside the fire, precision survives: the Giant Fiber answers only its own two words, once, in 4 ms (10).

4 Β· Computation is visible in structure. Memory sparsens 51:1 through Kenyon cells under the APL's brake (1, 2); the compass's ring attractor sits pre-built in EPG↔PEN wiring and holds a heading bump in simulation (5, 6); memory writes are one-way streets β€” feedback 0.001 β€” because archives must not edit witnesses (12).

5 Β· And the wiring has a boundary. The compass bump wouldn't turn (7); the female's "yes" wouldn't discriminate (15); there is no universal dialogue constant (12). Every failure had the same shape: state β€” persistent activity, neuromodulation, timescales beyond the fast skeleton. The connectome is the brain's fast skeleton; the soul of the thing is in the chemistry riding on it (14's 2% modulator budget, whispering to thousands).

Scorecard: 16 experiments, 4 honest negatives, ~30 seconds to simulate a second of brain on one Mac mini. The map above is not a diagram of what we believe β€” every node, edge, width and color is a measurement.

Postscript, seven chapters later (17–23). The playground stayed open, and the second night sharpened every claim above. The dynamics arc closed: there is no safe gain setting β€” function and flammability enter through the same door, so the operating point must be an actively-maintained process, not a number (17). The learning saga β€” six chapters β€” became the book's spine: conditioning failed (18), appeared to work and was retracted after a multi-seed audit caught our own seed-luck (19, 21), traded reliability for sparseness (20), failed again with real glomerular odors (22) β€” and then succeeded totally when we changed the architecture instead of the parameters: KCs as per-claw coincidence counters, +100.0 Β± 0.0 points of discrimination (23). En route, the wiring gave up two parts lists nobody asked it for: 58 glomeruli β€” the textbook count β€” from clustering PNs by ORN input (22), and 5 claws per KC from counting PN partners (23). Point 5 above needs an amendment: the boundary isn't only state β€” it's also the shape of each cell's arithmetic. The graph without the dendrites can't remember; the graph, interrogated honestly, tells you which dendrites to build.

Chapter 17 Β· DynamicsThe dial with no safe setting

Experiment 017 Β· experiments/017_goldilocks.py

Surely the real fly runs at some lower, safer gain than the flammable paper setting? We swept the dial and found the answer: no. Function and flammability walk in through the same door. There was never a cold option that computes.

Chapter 3 left an open question: the paper's synaptic gain makes a brain that ignites from a hundred-neuron spark β€” surely the real fly operates at some lower, safer gain? We swept the only global dial the model has β€” synaptic strength, 0.05Γ— to 1.1Γ— β€” and at each setting ran two tests: ignition (does a 10 ms spark of 100 random neurons still self-sustain 300 ms later?) and function (does sugar still drive the MN9 feeding command?). We were looking for the Goldilocks window: function without fire.

gain sweep: ignition vs function
The sweep. Red: brain-wide rate 300 ms after the spark. Green: sugar→MN9 response. Both wake up between gain 0.10 and 0.15 — together.
There is no window. At 0.10Γ— gain the brain is safe β€” and dead: the spark dies out, and sugar barely moves MN9 (1 Hz). At 0.15Γ— the feeding circuit works beautifully (205 Hz, better than at paper gain) β€” and the spark already ignites the whole brain. Function and flammability walk in through the same door, between 0.10 and 0.15, and no static setting of the dial separates them. Percolation logic says why: signals that can spread from 29 sugar neurons to a motor neuron can spread from anywhere to everywhere β€” the very connectivity that makes the brain usable makes it combustible.
Which means the operating point isn't a setting β€” it's an activity. The real fly cannot solve this with a number; it has to solve it with a process: inhibition tracking excitation moment by moment (the 74%-at-the-front-door budget of ch. 14), adaptation, refractory dynamics, modulators turning gains up and down by region and by mood. The brain doesn't sit at a safe distance from the fire β€” it is the fire, held in a controlled burn by machinery the connectome only sketches. This closes the arc opened in Chapter 3: "hot on purpose" wasn't a choice among options. Given this wiring, there was never a cold option that computes.

Chapter 18 Β· LearningWe taught it β€” and it forgot everything equally

Experiments 018/018b Β· experiments/018_learning.py, 018b_isolated_mb.py

We implemented the fly's dopamine learning rule on the real graph and taught it to fear an odor. It came to fear both odors equally β€” because the sparse odor code the rule depends on never existed in our neurons. The amnesia pointed straight at the missing biophysics.

The fly's learning rule is famously simple: a Kenyon cell that fires while dopamine is present gets its synapses onto MBONs depressed. Odor + shock → that odor's KC ensemble writes less onto approach neurons → avoidance. We implemented it on the real graph: two odors (disjoint 40-PN ensembles), condition odor A (three trials, 80% depression of active KC→MBON synapses), test both.

conditioning results, full brain vs isolated MB
Left: full brain β€” both odors' readouts drop 25%, no discrimination. Right: isolated mushroom body (ch. 6 method) β€” same story, βˆ’40% vs βˆ’42%.
The mechanism works; the memory doesn't. Depression happened exactly as prescribed β€” and the brain became averse to both odors equally (full brain: βˆ’25%/βˆ’25%; isolated MB: βˆ’40%/βˆ’42%). The autopsy is the finding: the KC odor code never existed in our model. During training, 75% of all 5,177 KCs fired β€” the "ensemble" was the whole mushroom body. We hunted the missing sparseness through four conditions: isolated MB (overlap 81%), raised KC thresholds up to +25 mV (80–86%), brief odors (94%), low gain (96%). The overlap would not go below ~80%. Real KCs overlap ~10–20% between odors.
Why this negative is worth a chapter: it localizes the memory to the biophysics. Chapter 1 measured the anatomy of sparseness (51:1 compression, ~5 claws per KC); chapter 2 measured its brake (APL). But a leaky integrator with a 20 ms membrane accumulates its way over any threshold given sustained input β€” raising the bar only delays the crossing. The real KC is a coincidence detector: it fires when several claws arrive together, not when drip-fed. That nonlinearity β€” dendritic, sub-ms, cell-type-specific β€” is what turns 5,177 cells into a pattern separator, and it is invisible in the connectome and absent from uniform LIF. Refining the thesis of ch. 16: the wiring isn't just missing the brain's slow state β€” it's missing the shape of the neurons' arithmetic. The synapse table says who talks to whom; it doesn't say what counts as being heard.

Chapter 19 Β· LearningOne biophysical fact buys the memory

Experiment 019 Β· experiments/019_coincidence.py β€” the redemption arc

⚠️ CORRECTION (exp. 021): the 14-point discrimination below did not survive multi-seed replication β€” across four test seeds it averages βˆ’1.3 pts (see chapter 21). The code-formation result (the Ο„ sweep, overlap 81%β†’56%) stands; the memory claim does not. Left as originally written, because the mistake is part of the record.

We changed one parameter β€” the Kenyon cells' membrane time constant, 20 ms to 1 ms β€” and the sparse code appeared on cue. The memory seemed to appear with it. Half of this chapter survived replication; the correction banner above tells you which half, and we left the rest as written because the mistake is part of the record.

Chapter 18 ended with a diagnosis: the mushroom body's amnesia wasn't in the wiring or the learning rule β€” it was in our neurons' arithmetic. A 20 ms leaky integrator accumulates its way over any threshold; a real Kenyon cell demands its inputs coincide. So we changed exactly one thing: the KCs' membrane time constant β€” 20 ms β†’ 1 ms, only for the 5,177 Kenyon cells, everything else untouched β€” and re-ran Chapter 18's conditioning.

tau sweep and conditioning with fast KCs
Left: as KC membranes speed up, the sparse code appears β€” overlap 81%β†’56%, ensembles 20%β†’4.6% of KCs. Right: conditioning at Ο„=2 ms β€” the punished odor drops βˆ’26%, the control βˆ’12%. Discrimination exists.
The code appears, and the memory with it. The sweep is monotonic and clean: Ο„ 20β†’1 ms takes ensemble overlap from 81% to 56% and ensemble size from 20% to 4.6% of KCs β€” heading straight toward the real fly's numbers (10–20% overlap, ~5–10% ensembles). At Ο„=2 ms, the identical conditioning protocol that produced indiscriminate amnesia now produces a memory: punished odor βˆ’26%, control βˆ’12% β€” 14 points of discrimination from one changed parameter. Same wiring, same rule, same dopamine; the only difference is that Kenyon cells now count coincidences instead of accumulating drips.
What this says about brains β€” and about connectomes. The pattern separator is a joint venture: the anatomy supplies the substrate (51:1 fan-out, few claws per KC, an inhibitory brake β€” chs. 1–2), and one cheap biophysical property supplies the nonlinearity that makes the substrate compute. Neither works alone: ch. 18 was the anatomy without the biophysics; a fast membrane on random wiring would be the reverse. This is the constructive ending the negative chapters were building toward β€” the connectome plus a short list of cell-type biophysics may be enough, and the list can be discovered by exactly this kind of failure-driven probing. Amnesia told us which fact was missing; one line of code confirmed it.

The discrimination is real but partial (56% overlap still blurs it; real flies also use APL's winner-take-all and claw-level thresholds). The direction for a future iteration is obvious: stack the second fact β€” active APL gain β€” and watch the gap widen.

Chapter 20 Β· LearningThe brake's bargain: sparser is not better

Experiment 020 Β· experiments/020_apl_stack.py

We stacked the second biophysical fact β€” a real winner-take-all brake β€” and got the textbook's perfect sparse code. The memory vanished entirely. The trade it exposed runs deeper than the fix: a sparser code is a less reliable one.

Chapter 19 ended with a plan: stack the second biophysical fact β€” crank the APL's inhibitory gain into a real winner-take-all β€” and watch discrimination widen past 14 points. We swept APL output gain Γ—1 to Γ—50 on top of Ο„=2 ms KCs, found the code's sweet spot, and re-ran the conditioning. The plan failed in the most instructive way this project has produced.

APL gain sweep and conditioning at the sweet spot
Left: overlap vs APL gain is U-shaped β€” Γ—5 hits 26% overlap with 1.2% ensembles, real-fly numbers; over-braking re-blurs the code as only generic hub KCs survive. Right: conditioning at the sweet spot β€” zero discrimination.
The code got perfect; the memory vanished. At APL Γ—5 the odor code finally matches the textbook: ensembles of 1.2% of KCs, A-vs-B overlap 26%. And the identical conditioning protocol now moves the MBONs 0% β€” worse than chapter 19's blunt code. Two autopsies: (1) leverage β€” depressing a few dozen KCs' synapses barely dents a readout fed by 88.5% KC mass in aggregate; but mainly (2) reliability β€” we presented odor A four times and asked how consistent its winner ensemble is: 53% overlap with itself (trial pairs: 35–88%), barely above its 23% overlap with odor B. The hard winner-take-all turned the code into a lottery: each presentation crowns different winners, so training depressed one trial's winners and testing read out another's. Sparseness bought selectivity and spent reliability.
The bargain is the biology. The real fly sits where the fitted curve says it must: sparse enough to separate odors, dense enough that the same odor finds the same cells every time β€” reliability is why the true system uses graded, adaptive APL feedback rather than our sledgehammer Γ—5, and why ensembles are 5–10% rather than 1%. The learning arc's full shape (18β†’19β†’20): no nonlinearity = no code; one nonlinearity = a code and a memory; too much = a beautiful, useless code. Computation lives in the middle, and the middle is actively maintained β€” the same lesson the dynamics arc reached in chapter 17 from the opposite direction.

Chapter 21 Β· CorrectionThe correction: seed 5 fooled us

Experiments 021 Β· experiments/021_graded_apl.py + retro-checks

A nonsense number forced the audit we should have run two chapters ago: every test, multiple seeds. Chapter 19's celebrated memory averaged out to nothing β€” seed 5 had flattered the hypothesis. What survives is the code; what died is every conditioning claim; what remains is the meta-lesson.

This iteration set out to finish the learning arc with biology's real design: the APL is a non-spiking neuron, inhibiting KCs in graded proportion to their population activity. We implemented it properly β€” continuous feedback along the real APLβ†’KC weight profile, spiking APL removed β€” and it behaved beautifully: reliability stayed high (85–92%) while ensembles shrank, exactly the trade chapter 20 said a graded brake should win. Then we ran the conditioning, got a nonsense number (βˆ’9), and did what should have been done two chapters ago: ran every test across multiple seeds.

graded APL sweep and conditioning
Left: graded APL holds reliability (green) high while selectivity cost (red) falls β€” the gap is the usable code. Right: the conditioning bar chart that multi-seed testing subsequently demoted to noise.
Chapter 19's memory was a mirage. Retro-checked with four test seeds, the "14 points of discrimination" averages βˆ’1.3 Β± 4 pts. Seed 5 β€” the same seed the baseline was measured with β€” happened to flatter the trained matrix. The graded-APL version fares no better (βˆ’0.5 pts, four seeds). The mechanical reason is now measured, not guessed: three training presentations tag a union of 753 KCs that covers 97% of odor A's ensemble β€” and 81% of odor B's. At 62–87% A-B code overlap, any honest training set swallows both odors. No readout can discriminate what the code doesn't separate.
What survives, and what it teaches. Still standing, multi-seed: the code-formation results (Ο„ sweep 81β†’56%, the U-curve, graded-APL's reliability advantage 85–92% vs spiking-WTA's 53%) β€” those were measured across trials by construction. Dead: every conditioning claim in chapters 19–21. The honest ledger now reads: discrimination requires A-B overlap well below ~50%, and no parameter we've turned reaches that while keeping the code reliable. The real fly does it with structured PNβ†’KC wiring (claws sample glomeruli non-randomly), claw-level coincidence, and graded inhibition β€” together. And the meta-lesson joins the bench rules: a single-seed result in a noisy system is an anecdote, even when β€” especially when β€” it confirms your hypothesis. Chapter 19's figure was real; its caption was wishful.

Chapter 22 Β· Structure + LearningFifty-eight glomeruli, and a secret kept

Experiment 022 Β· experiments/022_glomerular.py

The wiring handed us its own parts list β€” 58 glomeruli, the textbook count, recovered from synapses alone. We built real odors from them, stacked every lesson of the learning arc… and the mushroom body still kept its secret. The last suspect left standing: the dendrites.

Chapters 18–21 kept blaming our fake odors: random PN handfuls instead of the real thing. Real odors are glomerular β€” each activates a specific set of the antennal lobe's ~58 input channels. The classification table doesn't say which PN belongs to which glomerulus… but the wiring does: same-glomerulus PNs drink from the same receptor neurons. So we clustered the 250 uniglomerular PNs by their ORN input profiles.

The connectome contains its own parts list. At the natural cut, the hierarchy yields 58 clusters β€” exactly the textbook glomerulus count for the fly's antennal lobe β€” with median size 4 PNs, and it unites all 8 PNs that community labels independently mark "DA1" into a single cluster. Nobody told the algorithm what a glomerulus is. Structure recovered from wiring alone, validated against anatomy we didn't use: the same trick as chapter 8's communities, now at 100Γ— finer grain (data/pn_glom_clusters.csv is now part of the dataset).
glomerular odors: code overlap and conditioning
Glomerular odors (5 glomeruli each, disjoint) with fast KCs + graded APL, everything multi-seed per the ch. 21 rule. Selectivity: 63% overlap. Conditioning: +1.8 Β± 1.4 pts β€” statistically indistinguishable from nothing.
And still, the mushroom body keeps its secret. With real glomerular odors, fast KCs, graded APL β€” the full stack of everything four chapters have learned β€” the code's A-vs-B overlap sits at 63% (reliability 86%), and five-seed conditioning yields +1.8 Β± 1.4 points. The learning arc ends 0-for-4: random odors, hard WTA, graded APL, structured input. The stubborn 60% overlap floor survives every ingredient we add, which now looks like a fact about our neuron model rather than our stimuli: a point LIF sums all inputs on one membrane, but a real KC's claws are separate compartments β€” a KC fires when one claw's PNs coincide, not when its total input crosses a bar. Per-branch nonlinearity is the one ingredient a connectome-plus-point-neurons architecture cannot express, no matter the parameters. The secret isn't in the graph or the dials; it's in the dendrites.

Chapter 23 Β· FinaleWe built the dendrites, and the fly remembered

Experiment 023 Β· experiments/023_claws.py β€” the learning saga's last chapter

We stopped turning dials and changed the architecture: each Kenyon cell became a counter of coincident claws, the number 5 read straight from the synapse table. Every number the arc fought for arrived at once β€” and the fly, at last, remembered.

Chapter 22 ended with an accusation: the mushroom body's secret is per-claw dendritic computation, inexpressible in point neurons at any parameter setting. That's a testable claim. So we changed the architecture instead of the parameters. First, the wiring handed us the blueprint: counting each KC's distinct PN partners gives median 5 claws per Kenyon cell β€” the anatomy literature's exact number, sitting in the synapse table all along. Then each KC became what it really is: not an integrator but a counter β€” it fires when β‰₯ΞΈ of its claws receive a spike within a 5 ms coincidence window. Everything else β€” glomerular odors, KCβ†’MBON readout, the dopamine depression rule, multi-seed discipline β€” unchanged from the failed attempts.

claw coincidence code and conditioning results
Left: the claw code at ΞΈ=2–4 β€” selectivity and reliability are no longer in tension. Right: conditioning, five seeds β€” punished odor βˆ’100%, control 0%.
Every number the arc fought for arrives at once. At ΞΈ=3 coincident claws: ensembles of 44 KCs (0.8% β€” textbook sparseness), A-vs-B overlap 0–5% (four chapters of parameters never broke 56%), trial-to-trial reliability 100% (the WTA lottery gave 53%). The trade-off chapters 20–21 kept hitting β€” selectivity priced in reliability β€” simply doesn't exist in this architecture: the claw code is a near-deterministic function of which glomeruli are active, so the same odor finds the same cells every time, and different odors find disjoint ones.
And the conditioning that failed four times in a row: +100.0 Β± 0.0 points. Punished odor's MBON response: annihilated (βˆ’100%), all five seeds. Control odor: untouched (0.0%), all five seeds. Same dopamine rule that produced indiscriminate amnesia (ch. 18), a seed-luck mirage (ch. 19/21), and nothing at all (ch. 22). The saga's verdict, in one sentence: the fly's memory is not stored in the graph and not tuned into existence β€” it is made possible by the shape of one cell type's arithmetic, and the graph tells you that shape if you ask the right question (five claws, counted, not summed). Yes, our claw neuron is idealized β€” real learning is graded, not annihilation β€” but the architecture-versus-parameters question the arc kept asking is answered: chapters of dial-turning moved discrimination by Β±2 points; one architectural truth moved it by 100.

The learning saga β€” 18, 19, 20, 21, 22, 23 β€” is complete: amnesia, mirage, bargain, correction, parts list, memory. It is the project's thesis told as one story: a connectome is not a brain, but it is an extraordinarily honest witness β€” it will even testify about the dendrites it doesn't contain, if you interrogate its failures.

Chapter 24 Β· CapacityEncore: the fly doesn't forget β€” it becomes paranoid

Experiment 024 Β· experiments/024_capacity.py

We filled the mushroom body until it broke. It never forgot β€” the 80th memory stored as perfectly as the 1st. What broke was everything else: innocent odors accrue collateral suspicion until every smell in the world reads as punished. The fly doesn't lose its memories; it loses its innocence.

Chapter 23's mushroom body stores one aversive memory perfectly. A fly meets more than one bad smell in a life β€” so how many fit? We drew 100 odors from the wiring's own odor space (5 of the 38 usable glomeruli each; ensembles of ~22 KCs overlapping just 4% pairwise), trained K of them sequentially with the dopamine rule, and measured β€” multi- seed β€” both retention on trained odors and collateral damage on odors the fly never met.

memory capacity curve of the claw mushroom body
Memory strength (red), collateral damage to innocent odors (blue), and the discrimination gap (green) as memories accumulate, K = 1 β†’ 80.
The failure mode is not forgetting. Trained memories hold at βˆ’95β€¦βˆ’99.9% at every K β€” the 80th memory is stored as perfectly as the 1st. What decays is the rest of the world: collateral damage to never-trained odors grows βˆ’0.3% β†’ βˆ’9.6% (K=5) β†’ βˆ’31.8% (K=20) β†’ βˆ’80.3% (K=80). Each ensemble overlaps others by only ~4%, but eighty 4-percents tile the whole KC population β€” by K=80, 22-cell ensembles have collectively touched nearly every Kenyon cell, and every smell in the world reads as somewhat punished. The fly doesn't lose its memories; it loses its innocence. Capacity β€” if you demand a 50-point gap between "punished" and "safe" β€” is roughly 30 concurrent aversive memories, a fly-lifetime-plausible number that emerges from ensemble size (22) Γ— population (5,177) Γ— overlap (4%), all three read from the wiring.
Why real flies survive this: forgetting is a feature. Our synapses only go down (the dopamine rule is pure depression, and nothing recovers). The real mushroom body has the machinery this curve begs for: dopamine-driven recovery (memory decay and reconsolidation, Rac1-dependent active forgetting) and two-way plasticity that re-potentiates what the world stops punishing. The capacity curve makes the case from pure arithmetic: in a one-way-depression memory, generalization catastrophically inverts β€” paranoia is the thermodynamic fate of a brain that cannot forgive. Forgetting isn't a bug of small brains; it's the maintenance process that keeps the blue curve down. The book's recurring lesson, one last time, from a fourth direction: every working regime we've found is actively maintained, never free.

Chapter 25 Β· ForgettingForgiveness, and the accidental rehearsal

Experiment 025 Β· experiments/025_forgetting.py

We gave the paranoid fly the cure biology ships β€” active forgetting β€” and watched capacity become recency: the brain trades a permanent archive for a rolling window of the recent past. And in the curve, an anomaly we never built: memories with visiting relatives outlived their peers.

Chapter 24 diagnosed the disease β€” a memory that can only depress ends in paranoia β€” and named the cure biology already ships: active forgetting. We added the simplest version: after each new memory, every depressed synapse recovers a fraction ρ toward baseline (Rac1-style decay, as a single dial). Then we stored K=80 aversions and asked two questions: what does each memory look like as a function of its age, and what happened to the innocent?

retention by memory age for four forgetting rates
Retention by memory age at four forgetting rates ρ, K=80 stored. Legend shows collateral damage to innocent probes. ρ=0 is chapter 24's paranoia; increasing ρ buys back the world at the price of the past.
Forgetting converts capacity into recency. The dial works exactly as the arithmetic demanded: collateral damage on innocent odors falls βˆ’69% β†’ βˆ’47% β†’ βˆ’31% β†’ βˆ’15% as ρ rises 0 β†’ 0.15, while retention stops being flat-perfect and becomes a memory curve β€” at ρ=0.15 the freshest aversion holds βˆ’85% while the oldest fades to βˆ’12%. No forgetting: perfect archive, poisoned present. With forgetting: a sliding window of recent dangers and a world that stays mostly safe. The mushroom body doesn't have a capacity so much as a half-life, and ρ is the knob evolution gets to tune per species and per dopamine channel (real flies: hours-to-days, matching low ρ per event).
The surprise: accidental rehearsal. The retention curves are not monotonic β€” at every ρ, the age-50 memory is markedly stronger than the age-25 one (ρ=0.15: βˆ’48% vs βˆ’13%). The mechanism falls out of the overlap structure: an old memory whose KC ensemble happens to share cells with later memories gets re-depressed when they train β€” newer related experiences rehearse older ones without the fly ever re-encountering the original odor. Forgetting plus overlap yields spaced repetition for free: what fades is what nothing recent resembles. That's an emergent prediction, not something we built in β€” and it's testable in principle: train odor X, then train odors sharing glomeruli with X, and X's memory should outlive its yoked control.

Chapter 26 Β· Prediction β†’ TestWe tested our own prediction β€” and it held

Experiment 026 Β· experiments/026_rehearsal.py

Chapter 25's anomaly became a falsifiable prediction; this chapter ran the controlled test. Confirmed, four for four: a memory whose relatives keep visiting survives almost three times better β€” rehearsal by proxy, and a protocol a wet lab could run tomorrow.

Chapter 25 noticed something it didn't build: memories followed by related experiences seemed to outlive their peers, because overlapping ensembles re-depress old synapses. A correlation in a retention curve is a hypothesis, not a result β€” chapter 21 taught us that the hard way. So this chapter runs the controlled experiment the prediction demands: train odor X, then train ten more odors β€” in one world each shares 2 of X's 5 glomeruli, in the other world zero. Same forgetting rate (ρ=0.15), same number of trainings, same seeds discipline, four independent replications with fresh random glomerulus draws.

rehearsal experiment: related vs unrelated followers
Odor X's memory after ten follow-up trainings: related followers (green) vs unrelated followers (gray). Dots = individual replications.
Confirmed, 4 for 4. Followed by relatives, X's memory survives the "week" at βˆ’39.1% (sem 4.3); followed by strangers it fades to βˆ’13.5% (sem 1.0) β€” a 25.6-point rehearsal effect, same direction in every replication, non-overlapping distributions. The mechanism is exactly the one proposed: each related odor's ensemble shares Kenyon cells with X's (through shared glomeruli β†’ shared claws), and training it re-depresses those shared synapses β€” X gets rehearsed by proxy. In this memory, a smell you never meet again survives as long as its family keeps visiting.
What this chapter is really about. The full cycle closed inside one model and two iterations: an emergent anomaly (ch. 25's non-monotonic curve) β†’ a mechanistic hypothesis β†’ a falsifiable prediction β†’ a controlled test β†’ confirmation. That's the difference between this and chapter 19's mirage: there, one seed flattered a hope; here, a designed control with replications isolates the cause. And the prediction translates directly to a wet-lab protocol β€” condition flies on odor X, expose one group to conditioning on glomerulus-sharing odors and one to disjoint odors, compare X retention at 24h. If real flies show it, generalization-as-rehearsal would be a wiring- level explanation for why categories of danger persist while one-off scares fade.

Chapter 27 Β· EnergyThe answer costs nothing: a fly's energy budget

Experiment 027 Β· experiments/027_energy.py β€” a new arc: metabolics

We audited the metabolic bill of a decision. Eating and refusing cost the same to within 2% β€” the choice itself is energetically invisible β€” and the ledger prices the senses: a smell spike moves as many synapses as seven sight spikes.

Every spike costs roughly 10⁹ ATP. Since the simulator counts every spike of every neuron during any behavior, we can do the accounting neuroscience usually estimates: where does a moment of experience send its energy? We ran the book's founding trio β€” sugar, bitter, sugar+bitter β€” for half a second each and audited the bill by brain division and by cell class.

energy budget by behavior and cost-vs-leverage by class
Left: the spike budget by brain division for three behaviors β€” the bars are indistinguishable. Right: cost (total spikes) vs leverage (synapses driven per spike) by cell class during tasting.
Opposite decisions, identical bills. Sugar (fly eats: MN9 at 411 Hz), bitter (fly refuses), and sugar+bitter (suppression: 2 Hz) cost 2.65M, 2.70M and 2.67M spikes β€” the same to within 2%, with the same division of labor (central brain ~64%, optic lobes ~29%, and the descending wires that actually carry the decision: 1.9%). The motor outcome flips completely; the power meter doesn't move. The information is in which neurons fire, not how many β€” the decision itself is energetically invisible, hidden inside a fixed-cost arena. This is the fly-sized version of the cortical "dark energy" finding (task-evoked activity is a few percent on top of intrinsic dynamics) β€” here it drops out of pure wiring + spike arithmetic. One honest caveat from ch. 3/17: our cascade runs hot, so the shared background is saturated; the invariance is partly saturation. But the descending readout flipping 411β†’2 Hz inside an unchanged budget is the point, and it survives the caveat.
The leverage table: smell is the lever, vision is the wall. Cost divided by influence, per class: lateral-horn centrifugal neurons drive 2,139 synapses per spike, antennal-lobe locals 1,911, MBONs 1,741, PNs 1,682 β€” the entire olfactory chain is built from high-leverage megaphones, each spike a broadcast. The central complex sits at 450, and the optic lobe (28% of the whole bill) is made of whisper wires β€” millions of cheap, tiny-fanout spikes. Two architectures in one head: vision pays for resolution with many weak voices; olfaction pays for reach with few loud ones. The wiring even prices them: a spike in the olfactory chain moves ~1,783 synapses, a spike in the optic lobe ~262 β€” a smell spike is worth roughly seven sight spikes (6.8Γ—, measured).

Chapter 28 Β· Energy Γ— DynamicsThe price of a thought is lowest at the edge of the fire

Experiment 028 Β· experiments/028_thought_price.py

We priced the same thought at every setting of the gain dial. The decision is ~300Γ— cheaper at the edge of ignition than at the paper's gain β€” with a valley of expensive stupidity in between. The most dangerous place in dynamics is the cheapest place to think.

Chapter 17 found the dial with no safe setting; chapter 27 found decisions hiding inside a fixed energy bill. Fused: at every gain, what does the sugar-vs-bitter decision cost? Quality = the MN9 contrast between "eat" and "refuse" (chapter 0's founding behavior). Cost = total spikes. Efficiency = contrast per megaspike. Two seeds per point, contrast direction checked per seed.

decision quality, cost and efficiency across synaptic gain
Left: decision contrast (green) and its bill (red) across the gain dial. Right: efficiency β€” the thought is ~300Γ— cheaper at the edge of ignition than at paper gain.
A 300Γ— efficiency cliff, exactly at the edge of ignition. At gain 0.125–0.15Γ— the full eat-vs-refuse contrast (104–173 Hz β€” bigger than paper gain's) rides on ~10,000 total spikes: ~15,000–20,000 Hz of decision per megaspike. At paper gain the same decision costs 2.1 million spikes β€” 64 Hz per megaspike, ~300Γ— less efficient β€” because the whole arena burns whether or not anything is being decided. The efficiency peak sits precisely at ch. 17's ignition threshold: the cheapest thought lives at the edge of the fire, one notch above dead (0.10Γ— = 0.6 Hz of contrast; nobody home).
And a valley of expensive stupidity in between. The curve is not monotonic: gains 0.3–0.75Γ— buy half a million to 1.7M spikes of firestorm yet return a worse decision (5–12 Hz contrast) than 0.125Γ— delivers for a hundredth the price β€” the recurrent background drowns the taste signal before saturation restores it at 1.0Γ— (and the two seeds disagree wildly there: 204 vs 64 Hz β€” the hot regime is also the unreliable regime). So the gain axis has three provinces: silent, sharp-and-cheap, and loud-expensive-unreliable. If a fly's neuromodulators do tune effective gain, the economics say: live at the edge, visit the fire never. Ch. 17 said no safe setting exists; the ledger sharpens it β€” the only setting worth paying for is the first rung above silence, which is exactly where criticality theory puts healthy cortex.

Chapter 29 Β· Synthesis IIWhat the second half taught the first

Experiment 029 Β· experiments/029_synthesis2.py β€” the closing chapter

The second half changed what the first half means. Four theses, each earned at least twice β€” ending with the one the whole book rests on: a simulated brain that can generate falsifiable predictions and retract its own mirages is doing the whole job.

the 30-chapter journey by arc
The whole journey: structure (blue), dynamics (red), the learning saga (green), energy (gold), honest negatives (gray), syntheses (purple).

Chapter 16 closed the structural survey. Everything since has been dynamics run on that structure β€” and the second half changed what the first half means. Four theses, each earned in at least two independent ways:

1 Β· Consilience: two arcs bought the same number. The dynamics arc (17) and the economics arc (28) never shared a method, yet both point at gain β‰ˆ 0.13Γ— β€” the edge of ignition. Dynamics says function starts there; economics says it's the only place a decision is affordable (300Γ— cliff, with a valley of expensive stupidity above it). When a stability argument and a metabolic argument independently converge on one operating point, that point stops being a parameter and starts being a prediction: real fly brains should sit just above their own ignition threshold β€” which is where criticality theory has always claimed brains live.

2 Β· The connectome testifies beyond its own borders. The graph contains no dendrites, yet the learning saga extracted the dendritic rule from it: point-neurons on the true wiring cannot form the KC sparse code at any parameter setting (18–22), while the same wiring, read as claw counts (5/KC, ch. 23), specifies the coincidence detector that makes memory work perfectly. The wiring also volunteered 58 glomeruli (22) β€” the textbook number, blind. Negative results weren't failures of the method; they were the method.

3 Β· Everything that works is actively maintained. Four independent arrivals: the operating point is unstable without regulation (17); sparseness needs the APL's graded brake, not a threshold (20–21); memory capacity requires active forgetting or ends in paranoia (24–25); efficiency lives on a cliff edge (28). The connectome is the part of the brain that can be a snapshot. Nothing built on it holds still.

4 Β· The model can do science on itself. The book's proudest sequence isn't a result, it's a cycle: an emergent anomaly (25's non-monotonic forgetting) β†’ hypothesis β†’ controlled experiment β†’ confirmation (26's 25.6-point rehearsal-by-proxy effect, 4/4) β€” with a wet-lab protocol attached. And its most important sequence is the opposite one: a beautiful result (19) audited to death by its own authors (21). A simulated brain that can generate falsifiable predictions and retract its own mirages is doing the whole job.

Final scorecard: 30 chapters Β· 29 experiments Β· 6 honest negatives Β· 1 self-caught retraction Β· 1 confirmed novel prediction Β· one 57 MB download Β· one Mac mini. The brain simulates faster than it lives. The playground remains open β€” but the book, as a book, is told.

Volume II Β· the eye, the compass, and the loop

Volume I read the fly's smell, memory, dynamics and energy off one 57 MB download. It barely touched the optic lobes β€” 55% of every neuron in the head. Volume II walks into them, then into the compass that steers on what they see, and then tries to close the loop between the two. Same snapshot 783. Same rules: one experiment per chapter, controls where it's stochastic, and negatives published.

Chapter 30 Β· VisionThe motion detector is in the wiring β€” the direction is not

Experiment 030 Β· experiments/030_motion_detector.py β€” Volume II opens

Volume II opens in the eye. Blind clustering recovers the ON/OFF split of the motion detectors perfectly β€” not one neuron of 7,793 misplaced β€” and cannot find the four directions at any setting. The connectome knows the fly detects motion; only the coordinates know which way.

The fly's elementary motion detectors are T4 (bright edges) and T5 (dark edges), each in four subtypes a, b, c, d tuned to the four cardinal directions of the visual world. Textbook wiring: T4 is fed by the ON channel (Mi1, Tm3 β€” fast and cholinergic β€” plus Mi4 and Mi9 as the inhibitory delay arms), T5 by the OFF channel (Tm1, Tm2, Tm4, Tm9). That is a type-level claim, so it is exactly the kind of claim this dataset can be asked to answer without being told the answer. We built a consensus cell-type resolver over FlyWire's free-text community labels (23 canonical medulla/lobula types, word-boundary matched, one vote per label, ties dropped) and asked three questions with three ways to be wrong.

input-type profiles of T4a-d and T5a-d, and what blind clustering recovers
Left: mean input-type profile of each motion-detector subtype (% of typed input synapses). The ON block and the OFF block share no columns at all. Right: adjusted Rand index of blind clustering against the two ground truths β€” ON/OFF is recovered perfectly at k=2; direction never is, at any k.
1 Β· The census finds the columns. The resolver types 31,631 neurons it was never given counts for. Brain-wide, the named types come in ~1,400–1,650 copies each β€” a median of 734 per eye (range 341–1,022) across 22 types. The fly has ~800 ommatidia per eye, one crystalline column each. Nothing in the pipeline knows the number 800; it falls out of counting labels, the same way 58 glomeruli fell out of clustering PNs in chapter 22. The low end of that range is honest label coverage, not missing neurons β€” community annotation is thinner in some types than others.
2 Β· ON/OFF is written in the wiring, perfectly. Clustering 7,793 motion detectors by their input-type profiles alone recovers T4 versus T5 at ARI = 1.000 β€” 3,498 T4s in one cluster, 4,295 T5s in the other, not one neuron misplaced. The profiles show why: T4 takes Mi1 51–60%, Tm3 12–15%, Mi9 5–7%, Mi4 4–7% and zero from any Tm1/2/4/9; T5 takes Tm2 24–26%, Tm9 21–28%, Tm1 15–18%, Tm4 5–7% and zero Mi1. Two adjacent cell types in the same column, doing the same computation on opposite contrast polarities, with input sets that do not intersect at all. Control: the profiles also contain T4/T5 columns themselves, which could leak family identity β€” self-family input is only 2.5% of the typed profile (median 0.0%) and deleting those columns leaves ARI at 1.000. The result is not riding on self-connections.
3 Β· Direction is not there β€” the built-in negative, confirmed. The four directions are what the circuit is for, and they are invisible: against the 8-subtype ground truth, blind clustering scores ARI 0.17–0.25 at every k (0.166 in the leak-free control), and at k=8 every cluster is a blend of all four a/b/c/d. We chased one suggestive crosstab β€” the k=3 split of T5 leaned toward a,b (horizontal) versus c,d (vertical) β€” and tested it head-on: within-family k=2 gives ARI 0.091 for T5 and 0.001 for T4 against the horizontal/vertical axis. That is a trend, not a division; we are calling it a negative. The reason is geometric: a, b, c, d all read the same cell types, offset by one column in different compass directions. Direction selectivity lives in which Mi1, not whether Mi1 β€” in retinotopic position, which a type-level graph deliberately forgets. The connectome knows the fly detects motion; only the coordinates know which way.
4 Β· The detector runs on brakes. T4 receives 45.1% inhibitory input (440,590 synapses, 72/neuron), T5 31.9% (472,483 synapses, 80/neuron). Chapter 14 found the inhibition gradient β€” 74% inhibitory at sensory front doors falling to 39% in the central brain. The motion detectors sit at 32–45%: already central-brain-like, one synapse into the optic lobe. And the asymmetry between them is a mechanism, not noise β€” the ON pathway's correlator arms (Mi4 GABA + Mi9 glutamate, 9–13% of T4 input together) are its sign-inverting delay lines; T5 does the same trick with an inhibitory budget a third smaller because the OFF channel arrives partly inverted already. Also worth logging: CT1, the giant non-spiking inhibitory hub that topped chapter 1's celebrity list, is 14–16% of T4's input and 23–29% of T5's. The brain's biggest single neuron spends its life whispering into every motion detector in the eye.

What would have falsified all of this: shared input types between T4 and T5 (claim 2 dead), a clean 8-way clustering matching a/b/c/d (claim 3 dead β€” and a far more interesting result than the negative), or a census landing on tens or tens of thousands per eye instead of hundreds (claim 1 dead, resolver broken). Volume II opens with the eye's alphabet legible and its grammar β€” position β€” explicitly out of reach of the method. Next: what the eye sends inward when it sees motion, and what that costs compared to a smell.

Chapter 31 Β· Vision Γ— EnergyTwenty-three neurons can move the body β€” if they smell

Experiment 031 Β· experiments/031_price_of_sight.py

⚠️ CORRECTION (exp. 036): the claim that looming is "within 1.6Γ— of taste" used the pre-Dale matrix. With per-edge neurotransmitter signs corrected (chapter 34) loom costs 10.9 vs taste 3.6 = 3.03Γ—, because loom cells receive 4.5% sign-flipped input against sugar's 0.8%. The chapter's headline is unaffected: sight/smell goes 6.25Γ— β†’ 6.43Γ— (chapter 36).

Chapter 27 priced the senses as wiring; this chapter prices them as action. At the efficient gain, moving the body with vision costs six times the spikes of moving it with taste β€” the anatomy's 6.8Γ— prediction, recovered in dynamics.

Chapter 27 weighed the two senses as wiring: an olfactory-chain spike moves ~1,682 synapses, an optic-lobe spike ~262 β€” a smell spike is worth 6.8 sight spikes. That was a static statistic, and static statistics make dynamic predictions: if sight spikes carry 6.8Γ— less influence, then moving the body with vision should cost proportionally more spikes than moving it with taste. The brain has exactly one motor voice β€” the 1,305 descending neurons (ch. 11) β€” so the price of an action is measurable: brain spikes per descending spike.

Three stimuli, identical 200 Hz Poisson drive, 300 ms, two seeds: motion (all 11,995 T4/T5 detectors from ch. 30), loom (LPLC2+LC4, the escape channel of ch. 10), sugar (23 gustatory receptor neurons, the book's founding stimulus). Run twice: at paper gain, and at ch. 28's efficient gain of 0.15Γ— where signal must propagate on its own merit instead of riding a global ignition.

cost per descending spike by modality at two gains, and DN recruitment
Left and center: brain spikes spent per descending spike (log scale) β€” the price of an action. At paper gain the three modalities are indistinguishable; at gain 0.15Γ— they spread 6-fold. Right: how many of the 1,305 descending neurons each stimulus wakes.
1 Β· The prediction from wiring, confirmed by dynamics: 6.25Γ— versus 6.8Γ— predicted. At gain 0.15Γ—, one descending spike costs 5.0 brain spikes when the stimulus is sugar and 31.5 when it is motion β€” a ratio of 6.25Γ—, against the 6.8Γ— that chapter 27's synapses-per-spike table predicted from anatomy alone, with no dynamics involved. Two completely different measurements β€” a static fan-out average and a simulated spike ledger β€” agree to within 8%. This is the second consilience in the book (ch. 29 recorded the first: dynamics and economics both landing on gain β‰ˆ 0.13), and it says the leverage table is not bookkeeping, it's mechanism.
2 Β· The headline, in whole neurons: 23 sugar cells move the body; 23 motion detectors cannot. Per driven neuron, a sugar GRN produces 64.6 descending spikes, an LPLC2/LC4 loom cell 16.0, and a T4/T5 motion detector 0.10 β€” a 640-fold spread. Drive 23 randomly chosen T4/T5 cells, exactly matching sugar's population, and two of three seeds produce zero descending spikes at all: the body doesn't move. Twenty-three chemosensory neurons are a decision; twenty-three motion detectors are a rumor. Vision is not built to be listened to one neuron at a time β€” which is precisely what "262 synapses per spike" means when you cash it out into behavior.
3 Β· It is the channel, not the crowd β€” plus an economy of scale. The obvious objection is that motion just drives more neurons (11,995 vs 457 vs 23), or that T4/T5 sit further from the central brain than a projection neuron does. Size-matched control, three seeds: 457 random T4/T5 cost 49.9 Β± 11.9 spikes per descending spike where 457 loom cells cost 8.2 β€” same population size, same gain, same wiring, 6Γ— the price. So the expense is the pathway, not the headcount. And the reverse comparison is more interesting still: the full motion population costs 31.5, cheaper than its own 457-cell sample's 49.9. Vision gets more efficient the more of it fires at once β€” a crowd of weak voices becomes affordable only as a crowd. Loom, by contrast, is a visual express lane: the same sense, wired for reach instead of resolution, buying descending output at 8.2 β€” within a factor of 1.6 of taste β€” and waking 241 distinct descending neurons versus sugar's 73. Escape shouts at the whole body; taste whispers to the mouth.
4 Β· Chapter 27's caveat, resolved. Ch. 27 found opposite decisions costing identical amounts and flagged the honest worry: at paper gain our cascade saturates, so the invariance might be saturation rather than physiology. Here that worry becomes a measurement. At paper gain the three modalities cost 46.6, 50.3 and 52.5 β€” a 12% spread, the "identical bills" result reproduced across senses as well as decisions. At gain 0.15Γ— the same comparison spreads 6.25-fold. The verdict: the flat bill was saturation, and the un-saturated ledger has real structure in it. A saturated brain is a brain whose accounting stops working β€” one more reason (ch. 17, ch. 28) that the operating point sits just above silence.

What would have falsified this: a cost ratio near 1 (leverage doesn't translate into behavior), or the size-matched control landing on loom's price (population size explained everything). Caveat kept in the open: driving all 11,995 T4/T5 cells at 200 Hz is not a physiological motion stimulus β€” no real scene excites every direction at once β€” which is why the claims rest on ratios and per-neuron normalisations rather than absolute budgets. Next: the compass β€” can the as-wired central complex hold a heading, and what does it do when the eye hands it a moving world?

Chapter 32 Β· VisionTwo neurons hold the motion detector's leash β€” and pull it two ways

Experiment 032 Β· experiments/032_ct1_lesion.py, 032b_mediator_probe.py

⚠️ RETRACTION (exp. 034): the ON/OFF sign flip below (T5 going quieter when CT1 is deleted) is an artifact of the matrix's per-edge neurotransmitter signs, not biology: CT1 carries 16,809 wrong-sign (excitatory) synapses onto T5. With Dale's law enforced, CT1 removal raises both channels β€” see chapter 34. The mass-matched control (concentration beats litres) and the locality result stand. Left as originally written, because the mistake is part of the record.

We deleted the brain's biggest neuron β€” two cells holding a quarter of the motion detectors' diet β€” against a control lesion of 1,536 smaller cells with exactly the same synapse mass. Concentration beat litres. Half of what this chapter first claimed later died (the banner above); the mistake stays in the record.

Two chapters, written months of compute apart, kept putting the same pair of cells on the table. Chapter 1 ranked the brain's hubs and found them all inhibitory, with the largest β€” about 150,000 synapses each, one per hemisphere β€” named CT1. Chapter 30 measured what the motion detectors eat and found CT1 supplying 14–16% of every T4's input and 23–29% of every T5's. One neuron per eye is a quarter of the fly's motion detector's diet. So: what does the eye see when you take that leash off?

The test is a lesion, done properly. Drive the detectors' real presynaptic partners (Mi1 + Tm1/Tm2/Tm9 β€” the ch. 30 input profile, 5,991 cells at 100 Hz for 300 ms) so that T4/T5 firing is a response, never a forced input. Then run three worlds: intact, CT1 lesioned (2 neurons), and a control lesion of other inhibitory optic neurons chosen greedily to match CT1's synapse mass onto T4/T5 exactly β€” 122,730 synapses either way, delivered by 2 cells versus 1,536 cells. Four gains (0.10/0.15/0.25 and paper gain), two seeds. If CT1's removal did no more than the mass-matched control's, CT1 would be just a big brake among brakes and the chapter would be a negative.

T4, T5 and descending spikes versus synaptic gain for intact, CT1-lesioned and mass-matched control-lesioned brains
T4 (ON), T5 (OFF) and descending output across the gain dial. Red = CT1 gone (2 cells). Grey = 1,536 other inhibitory optic cells gone, carrying the identical 122,730 synapses onto T4/T5. Grey sits on top of blue at every gain; red does not.
1 Β· Identical synapse mass, opposite consequences: the control lesion does nothing. Removing 1,536 inhibitory optic neurons β€” 122,730 synapses onto the motion detectors, the same mass CT1 delivers β€” changes T4 by 1.06Γ—, T5 by 1.06Γ— and the whole brain's spike count by 1.004Γ— at gain 0.15Γ—. Removing CT1's two cells changes T4 by 3.07Γ—. Inhibition is not a fluid you can measure by the litre: the same volume of brake, spread over seven hundred times more neurons, is functionally invisible. Anatomical concentration is the variable, and CT1 is the most concentrated thing in the fly's brain.
2 Β· The lesion has a sign, and the sign flips between ON and OFF. Take the brake off and T4 (the ON channel) does the obvious thing β€” it burns: 3.07Γ— at gain 0.15, 5.46Γ— at 0.25, 3.58Γ— at paper gain. T5 (the OFF channel) does the opposite: it goes quieter β€” 0.37Γ— at 0.15, 0.76Γ— at 0.25. Two cell types that share an inhibitory hub, share a retinotopic map, and differ only in polarity respond to the same lesion in opposite directions. Whatever CT1 is doing, it is not "turning the volume down on motion". It is holding a balance between two channels.
3 Β· And it is a local balance β€” the brain barely notices. Optic-lobe spikes move 0.98–1.10Γ— and whole-brain spikes 0.97–1.04Γ— across every condition and gain; descending output (the only motor voice, ch. 11) is 0.95Γ— at paper gain and lower, not higher, at 0.15Γ— (0.67Γ—). The biggest hub in the connectome, deleted, does not shift the brain's ignition point β€” ch. 3's phase transition and ch. 17's gain dial are untouched. CT1 is a specialist with a giant budget, not a global gain control. A hub's size tells you how much it matters to its own circuit, and nothing about how much it matters to the animal.
The anomaly: how does deleting a brake make a cell fire less? A drop in T5 after removing inhibition needs a path, so we looked for one (032b). Direct T4β†’T5 wiring is a rounding error β€” 63 synapses across 12,000 cells. But the lobula plate is full of inhibitory cells that listen to T4 and speak to T5: LPi2b (itself a top-ten hub in ch. 1) takes 3,435–16,952 synapses from T4 and puts 4,466 onto T5, with LPi1-2, LPTCs and HS cells behind it; the T4-driven inhibitory mediators account for 84,714 of the 121,014 inhibitory synapses arriving on T5. The hypothesis is therefore concrete and testable inside this model: CT1 gone β†’ T4 hyperactive β†’ T4 drives the LPi lateral inhibitors β†’ T5 suppressed. That is a disinhibition triangle, and it predicts its own control β€” lesion CT1 and the LPi population together, and T5 should come back. Chapter 33 runs it.

What would have falsified this chapter: the mass-matched control moving T4/T5 as much as CT1 did (it moved them 1.06Γ—), or CT1's lesion shifting the brain-wide spike budget (it moved it 1.004Γ—). What we keep: the biggest hub in the fly connectome is a local, polarity- specific balance-holder, and "how many synapses" is the wrong question β€” 2 cells beat 1,536 cells carrying the same mass.

Chapter 33 Β· VisionThe triangle is real at one gain, and the sign flip has a suspect

Experiment 033 Β· experiments/033_triangle.py, 033b_two_hop_sign.py, 033c_mass_triangle.py

⚠️ RETRACTION (exp. 035): finding 2 below β€” the 69% T5 rescue β€” was measured in the pre-ch34 matrix, where CT1's wrong-sign synapses were carrying T5's response. With Dale's law enforced, deleting CT1 raises T5 12–32Γ—, so there was no deficit to rescue; the real triangle is worth +8–14% (chapter 35). Findings 1, 4 and 5 stand. Left as written β€” it is the chapter that named its own killer.

Three runs of the same rescue experiment: mediators by name (nothing), mediators by mass (69% β€” later voided), and along the way a two-hop sign audit that named the model's own bookkeeping as the suspect. This is the chapter that found its own killer.

Chapter 32 left a hypothesis with its own control attached: CT1 gone β†’ T4 hyperactive β†’ T4 drives the lobula plate's inhibitory intrinsic cells β†’ T5 suppressed. Delete CT1 and the mediators, and T5 should come back. This chapter runs that test three times, because the first version of it was underpowered and the second answer was only half an answer.

T5 spikes for intact, CT1 lesioned, CT1+LPi-label lesioned and CT1+mass-matched-mediators lesioned, at two gains
The same double-lesion test, twice. Grey: mediators chosen by name (cells labelled LPi) β€” 7,925 synapses onto T5, no rescue. Green: mediators chosen by mass β€” 56k synapses, 69% rescue at gain 0.25Γ— and nothing at 0.15Γ—.
1 Β· First attempt: a negative that was really a measurement error of my own. Lesioning every inhibitory cell labelled "LPi" (340 cells) alongside CT1 rescued 0% of T5's lost firing (0.365Γ— β†’ 0.367Γ— of intact). Before writing that up as a falsification I checked what the lesion had actually removed: 7,925 of the 121,014 inhibitory synapses arriving on T5 β€” 6.5%. A test that deletes six percent of the suspected cause cannot falsify anything. The label was convenient; the mass is what matters. Bench rule added: state the fraction of the hypothesised cause your lesion actually removes, before you interpret the result.
2 Β· Properly powered, the triangle appears β€” at gain 0.25Γ—, 69% of T5 comes back. Reselecting mediators by mass (every non-CT1 inhibitory cell ranked by min(synapses from T4, synapses onto T5), taking enough to cover half of T5's non-CT1 inhibitory budget: 56k synapses) and lesioning them together with CT1 restores T5 from 17,452 β†’ 21,157 spikes against an intact 22,841 β€” a 69% rescue β€” while T4 goes further up (5.46Γ— β†’ 7.50Γ— intact). That is the disinhibition triangle behaving exactly as drawn: the OFF channel was being suppressed by the ON channel's own inhibitory shadow, and cutting the shadow gives it back.
3 · But at gain 0.15× the same lesion rescues 4%. So there are two causes, not one. In ch. 28's efficient regime — the one where the book's economics live — removing half of T5's inhibitory input on top of CT1 changes nothing: 3,798 → 4,048 spikes against an intact 10,406. The T4→mediator→T5 route explains the effect in the hot regime and not in the cool one. A second mechanism is operating where signals must propagate on their own merit, and it is stronger there.
4 Β· Not the two-hop sign, either. The next-simplest explanation was arithmetic: CT1 is inhibitory, so a CT1β†’(inhibitory X)β†’T5 chain is net excitatory, and losing it would cost T5 excitation. The anatomy says no: CT1's signed two-hop influence is net inhibitory on both channels (βˆ’322k on T4, βˆ’2.26M on T5), with only 37% of T5's two-hop mass positive. Removing CT1 should have released both. Two hypotheses down.
5 Β· The suspect that turned up while looking: CT1's own wiring is not sign-pure, and the impurity is aimed at T5. The matrix is built with a sign per edge, from FlyWire's per-connection neurotransmitter predictions. CT1 is a GABA cell (cell-level call, and ch. 14 measured median Dale purity 1.00 across the brain), yet in the edge table CT1 delivers 16,809 excitatory synapses onto T5 across 1,038 edges β€” 18.7% of its entire T5 budget β€” versus 1,117 onto T4 across 149 edges. A 15-fold asymmetry, pointed at exactly the channel that went quiet. If those edges are prediction noise rather than biology, then ch. 32's beautiful sign flip is partly an artifact of edge-level neurotransmitter calls, and the honest fix is to enforce Dale's law on CT1 and re-run. That is chapter 34, and it is written as a possible retraction in advance rather than defended.

What this chapter is, in one line: a hypothesis half-confirmed, two mechanisms eliminated, one of my own experiments caught underpowered, and a methodological crack found in the floor. The triangle is real where the brain is hot. The sign flip is still unexplained where the brain is efficient β€” and the leading suspect is now the model's own bookkeeping.

Chapter 34 Β· VisionRetraction: the sign flip was my own bookkeeping

Experiment 034 Β· experiments/034_dale_ct1.py

The pre-declared retraction test ran, and the retraction happened: the celebrated sign flip was 16,809 wrong-sign synapses in our own matrix, not biology. Enforce Dale's law and the paradox evaporates β€” textbook disinhibition, both channels.

Chapter 32 reported that deleting CT1 made T4 (ON) burn 3–5Γ— brighter while T5 (OFF) went quieter, and called it a polarity balance: one hub holding two opposite channels apart. Chapter 33 found a suspect for that flip inside the model rather than inside the fly. This chapter runs the test that was pre-declared as a possible retraction, and the retraction is what happened.

1 Β· RETRACTED: there is no sign flip. It was 16,809 wrong-sign synapses. The matrix signs each (pre, post) edge by its dominant FlyWire neurotransmitter prediction. CT1 is a GABA cell with cell-level Dale purity 1.00 (ch14), yet its edges onto T5 carry 16,809 excitatory synapses of 106,763 (15.7%) against 1,117 of 51,819 (2.2%) onto T4 β€” a 7Γ— asymmetry aimed exactly at the channel that went quiet. Enforce Dale's law on CT1's outgoing edges (every edge takes the cell's own sign) and re-run the identical lesion: T5 no longer falls, it rises, at both gains, in both seeds. Deleting the eye's biggest brake disinhibits both channels, as textbook inhibition should. Chapter 32's polarity claim is withdrawn. What survives it: the mass-matched control (concentration, not litres) and the locality result (the hub does not move the brain's ignition point) β€” both were measured on ratios that do not depend on CT1's edge signs.
2 Β· The correction is bigger than the claim it kills: T5's whole response was riding on the impurity. Under the same Mi1+Tm1/2/9 drive, intact T5 fires 10,406 spikes in the as-built matrix and 3 spikes with CT1 purified (gain 0.15Γ—; 22,841 β†’ 119 at 0.25Γ—), and intact T4 drops 215 β†’ 12. Those 16,809 mislabelled synapses were not a small bias on a real answer β€” they were the answer. So the honest headline is not the 1,266Γ— ratio the purified world prints (a ratio off a base of three spikes) but this: in the as-built matrix, most of what T5 does under this protocol is delivered by edges the data itself says should have been inhibitory, and with Dale enforced the OFF channel barely responds to its own presynaptic partners until CT1 is removed.
3 Β· Control: the confound could not be mass-matched, which is itself the finding. The plan was a sham purification β€” flip the same 16,809 synapses' worth of wrong-sign excitation from other inhibitory cells onto T5. There is no such mass to flip: every other inhibitory cell in the brain combined delivers 270 excitatory synapses onto T5, 1.6% of CT1's β€” a 62Γ— shortfall. The sham that could be built (33 cells, 270 synapses) leaves the result untouched: 0.37Γ— / 0.77Γ— T5, within 1% of as-built. CT1 is a brain-wide outlier for edge impurity: 12.5% of its 185,554 outgoing synapses carry the wrong sign, against 1.6% across all 12.4 M inhibitory synapses. One cell, one anomaly, one retracted chapter.
4 Β· How much of the book rests on per-edge signs? Globally: little. Locally: everything. Purifying every neuron's edges (dale_all) moves whole-brain spiking by +16% at 0.15Γ— and +42% at 0.25Γ— β€” a gain-shift, not a rewiring, and the kind of change ch17's gain dial already maps. But the same operation takes T4/T5 from 215/10,406 to 25/4 spikes. Per-edge sign noise is 1.6% of the brain's synapses and it is invisible in aggregate; it decides the answer whenever one hub with concentrated impurity sits directly upstream of the cells you are measuring. Sanity receipt: all three CT1-deleted worlds print byte-identical spike counts (662.5 / 3798.5 / 281,767.5), confirming the purification touched only rows it was meant to touch.
5 Β· Consequence: chapter 33's rescue is now suspect too. The 69% triangle rescue at gain 0.25Γ— was measured in the contaminated world, where T5's baseline was mostly CT1-delivered excitation. Chapter 35 re-runs the mass-matched double lesion in dale_all, where T5's activity has an honest source. Hypothesis, stated before the run: with Dale enforced, CT1 removal already raises T5, so there is no deficit left for the mediators to rescue and the triangle should evaporate β€” a second retraction queued behind the first.

What this chapter is, in one line: the model audited its own data provenance and lost a result it liked. That is the fourth time in this project that a finding died of its own control (19, 21, 33, 34), and the first time the killer was the matrix rather than the seed.

Chapter 35 Β· VisionThe triangle shrinks to a tenth: 69% was rescuing a deficit that never existed

Experiment 035 Β· experiments/035_dale_triangle.py

Re-run in a matrix that obeys Dale's law, the 69% rescue collapses to 8–14%: it had been rescuing a deficit that never existed. The triangle is real β€” a tenth the size we sold it at.

Chapter 33's headline was a 69% rescue: delete CT1 and T5 goes quiet, delete CT1 plus its mass-matched inhibitory mediators and most of T5 comes back β€” the disinhibition triangle, confirmed in the hot regime. Chapter 34 then showed the quiet was an artifact. So this chapter asks the same question of a matrix that obeys Dale's law, and the answer changes shape twice.

1 Β· First, an honest operating point β€” the retraction cost T5 its response. In dale_all T5 fires 180 spikes under the ch32/33 drive (100 Hz on Mi1+Tm1/2/9): too few to divide. A drive sweep at gain 0.25Γ— gives T5 180 β†’ 5,414 β†’ 47,534 β†’ 119,845 spikes at 100/200/400/800 Hz, so the experiment runs at 200 Hz, the lowest rate where the OFF channel has a measurable response. Every number below is measured there, in both gains, two seeds. Stating this because the whole chapter is a comparison of magnitudes, and a comparison off a base of 180 spikes would be theatre.
2 Β· The 69% rescue is void: with Dale enforced there is no deficit to rescue. Deleting CT1 in dale_all takes T5 from 894 β†’ 29,026 spikes (32Γ—) at gain 0.15Γ— and 5,394 β†’ 65,117 (12Γ—) at 0.25Γ—. T5 does not fall and then get rescued; it rises immediately, as disinhibition should. Chapter 33's rescue fraction was measuring the recovery of a hole that the wrong-sign synapses had dug. Withdrawn. What survives from ch33: the bench rule (state what fraction of the cause your lesion removes), the two-hop sign arithmetic, and β€” the reason ch34 exists at all β€” its identification of the impurity as the suspect. A chapter that names its own killer is doing its job.
3 Β· The triangle is real, and it is a tenth the size of the claim. The pathway can still be tested directionally: if T4-driven inhibitory cells brake T5, removing them should raise T5, and CT1+MED should beat CT1 alone. Both hold, weakly. Mediators alone (329 cells carrying 24,194 synapses onto T5 = 50% of the non-CT1 inhibitory budget in this world) move T5 to 1.03Γ— intact at 0.15Γ— and 1.07Γ— at 0.25Γ—. Added on top of the CT1 lesion they yield +7.7% and +13.5% extra T5 firing over CT1 alone. So the triangle exists, it grows with gain exactly as ch33 said β€” and it accounts for roughly a tenth of what CT1 does to T5, not two thirds. Corroborating detail: T4 climbs further too (11,595 β†’ 15,768 at 0.15Γ—), consistent with the same mediators braking both channels.
4 Β· Third independent arrival at "concentration, not litres". Two CT1 cells raise T5 12–32Γ—. Three hundred and twenty-nine inhibitory cells carrying half of the remaining inhibitory mass onto the same target raise it 1.03–1.07Γ—. Chapter 32 found this with a mass-matched lesion of 1,536 cells and 122,730 synapses (1.06Γ—); chapter 33 found it by under-powering itself; this chapter finds it in a matrix with different signs on 1.6% of its edges. The claim is now robust to the bug that killed its neighbours: inhibition in this brain is not a fluid you measure by the litre.

What this chapter is, in one line: the same mechanism, correctly measured, is ten times smaller than first reported β€” and the one claim that survived three attempts to break it is the one nobody has been arguing about.

Chapter 36 Β· AuditHow far does the sign bug reach? The economics survive; the express lane shrinks

Experiment 036 Β· experiments/036_dale_economics.py

Two chapters died of the sign bug; before moving on we audited how far it reaches. Verdict: 5.86% of edges flip, aimed almost entirely at vision β€” the economics survive (6.25Γ— becomes 6.43Γ—), and the founding chemosensory results were never exposed.

Two chapters died of per-edge neurotransmitter signs (34, 35). Before Volume II moves on, the obvious question: what else in this book was standing on them? The economics chapters are the biggest exposure β€” ch27's leverage table, ch28's efficiency cliff, ch31's price of a visual thought β€” so ch31's whole ledger gets re-run in both worlds, same stimuli, drive, gains and seeds.

1 Β· The census: 5.86% of edges flip, and the flips are aimed at vision. Enforcing Dale changes the sign of 158,316 of 2,700,513 edges (5.86%). Weighted by synapses arriving on each channel: 8.0% onto T4/T5 (72,654 synapses), 4.5% onto the loom cells, 3.8% onto descending neurons, 0.8% onto sugar GRNs (22 synapses). The contamination is not uniform β€” it is concentrated exactly where chapters 32–35 went wrong, and nearly absent from the chemosensory front door the book was founded on.
2 Β· ch31's headline survives: 6.25Γ— β†’ 6.43Γ—. Cost of an action (brain spikes per descending spike, excluding the driven population's own firing) at gain 0.15Γ—: motion 31.5 β†’ 23.1, loom 8.2 β†’ 10.9, sugar 5.0 β†’ 3.6. The sight-versus-smell ratio the chapter was built on goes 6.25Γ— β†’ 6.43Γ— (+3%), still within 6% of ch27's anatomy-only prediction of 6.8Γ—. At paper gain the identical-bills result also reproduces: 58.9 / 62.7 / 56.3 spikes per DN spike, an 11% spread across three modalities (was 12%). Ratios of aggregate spike counts are robust to 6% of edges changing sign; single-hub lesions are not. That is the sharpest statement of the ch34 lesson yet.
3 Β· One casualty: the visual express lane is half as express. ch31 called looming "within 1.6Γ— of taste" (8.2 vs 5.0 spikes per DN spike). Under Dale it is 3.03Γ— of taste (10.9 vs 3.6) β€” loom's cost rises 32% while every other channel's falls. Mechanism is in the census: loom cells receive 4.5% flipped input against sugar's 0.8%, so the correction lands on the channel that was borrowing the most inhibition that wasn't there. The escape pathway is still by far the cheapest visual action (23.1 β†’ 10.9, a 2.1Γ— discount over motion) β€” it is just no longer nearly as cheap as a taste. Corrected, not withdrawn.
4 Β· A metric bug, caught in flight, worth keeping. The first version of this audit divided total brain spikes by DN spikes instead of ch31's own spikes (total minus the driven population's own firing) and printed a motion/sugar ratio of 97Γ— β€” because motion drives 11,995 neurons at 200 Hz and sugar drives 23, so the driven population's own spikes dominate the numerator and the "cost" mostly measures how big your electrode is. With the original metric, the as-built world reproduces ch31 to the digit (31.5 / 8.2 / 5.0 and 46.6 / 50.3 / 52.5), which is also the receipt that this chapter is comparing like with like. Rule: a per-action cost must exclude the cells you are driving, or it measures the stimulus, not the brain.
5 Β· Side effect: Dale's law wakes more motor voices. Distinct descending neurons recruited at gain 0.15Γ— rise from 98 β†’ 278 (motion), 74 β†’ 122 (sugar) and 242 β†’ 258 (loom). Removing spurious excitation on inhibitory cells' targets does not just rescale activity β€” it widens the motor output, which means ch11's "only one motor voice" geometry deserves its own re-run before Volume II leans on it.

What this chapter is, in one line: the bug that destroyed two chapters is confirmed harmless to a third, with one claim demoted and one measurement rule earned β€” the audit that says which results you are allowed to keep.

Chapter 37 Β· NavigationThe ring works, and only alone: a perfect bump that ignores the world

Experiments 037, 037b, 037c Β· experiments/037_ring_dale.py, experiments/037b_cue_controls.py, experiments/037c_subcircuit_cue.py

The as-wired EB/PB ring holds a heading and follows a cue to within 0.1Β° of perfect β€” in isolation. Embed the same 46 neurons in the whole brain and coherence improves to 0.98 while cue-following collapses to 0.4Β° out of 180Β°: a textbook bump that is a stuck wedge. The ring is not fragile, it is unprotected.

Volume II's second continent. The central complex is the fly's compass: 46 EPG neurons (8 wedges Γ— left/right) tiling the ellipsoid body, with 36 Delta7 cells β€” 94% classed inhibitory β€” supplying the global inhibition a ring attractor needs. Volume I built this ring from an idealised cosine kernel. This chapter asks the harder question: does the actual weight matrix do it? And per ch34's lesson, the test runs in dale_all from the start, not only in the as-built world.

1 Β· Yes β€” the as-wired ring is a real compass, in isolation. Simulating only the EPG/Delta7 subcircuit at gain 1.0Γ—: coherence 0.52, EPG population 220.8 Hz, 24.1 of 46 cells active per bin. The cue-swap control is the one that matters: put the cue at 0Β° and the bump settles at absolute angle 341.3Β°; put it at 180Β° and it settles at 176.3Β° β€” a separation of 165.0Β° out of a perfect 180Β°. Under Dale it gets better: 173.8Β° at gain 1.0Γ— and 179.9Β° at gain 2.0Γ—, i.e. the corrected connectome steers the bump to within 0.1Β° of where the cue put it. Two seeds, both worlds. The connectome contains a working ring attractor and nobody had to hand it a kernel.
2 Β· The real matrix drifts far less than the textbook approximation of it. Volume I's cosine-kernel ring bled βˆ’18Β° Β± 2 CCW across 6 seeds over its ~1 s window (ch6). The as-wired ring drifts +0.43Β°/s (as_built) and βˆ’3.89Β°/s under Dale β€” 42Γ— and 4.6Γ— smaller on the same per-second footing. The smooth kernel was a caricature that got the shape right and the stability badly wrong; the connectome's lumpy, asymmetric wiring is better at holding still than the equation drawn to explain it.
3 Β· The negative, and it is the chapter: every internal metric improves while the answer dies. Embed those same 46 EPG cells in all 139,255 neurons and the bump gets beautiful: coherence 0.98 (against 0.52 isolated), 5.45 of 46 cells active β€” a single clean wedge β€” at a calm 43.1 Hz. By every measure a ring-attractor paper would print, this is the best bump in the book. Then run the cue swap: PVA error βˆ’177.7Β° with the cue at 0Β° and +2.7Β° with the cue at 180Β°, which is the same statement twice β€” the bump sat at the identical absolute angle both times. Cue-following separation: 0.4Β° out of 180Β°. It is a stuck wedge wearing a compass's clothes. Coherence measures how localised activity is and is structurally incapable of telling you whether the location means anything. Had we shipped ch37 on experiment 037 alone, the headline would have been "the connectome's ring is near-perfect (coh 0.98)" β€” the prettiest wrong result this project has produced, killed by a control that costs one extra run.
4 Β· Under Dale the embedded ring saturates β€” and 0% of that is its own sign errors. In dale_all the whole-brain-embedded ring goes to 46/46 cells active at 479.6 Hz, coherence 0.082: the entire ellipsoid body lit at once, no bump at all. The tempting explanation is that Dale broke the ring's wiring. It did not. Only 31 edges inside the EPG/Delta7 subcircuit flip sign, and in isolation those 31 flips improve cue-following (165.0Β° β†’ 173.8Β°). What changes is the surrounding drive: whole-brain spiking rises 4.23M β†’ 7.28M (+72%) at this operating point, consistent with ch36's +16–42% brain-wide shift, and the ring drowns in it. Attributed share of the collapse: 0% to the ring's own 31 corrected edges, effectively all of it to ambient excitation the model gives the ring no way to refuse. The finding is not fragility. It is a missing brake β€” real EBs are gated by GABAergic ring neurons this simulation has never asked about.
5 Β· And navigation never ignites at the cheap gain. At gain 0.15Γ— β€” ch28's efficiency edge, where a full feeding decision costs ~10K spikes β€” the embedded ring produces 0.0 Hz, 0 of 46 cells in the as-built world, and a derisory 7.0Β°/180Β° separation under Dale. Even isolated, gain 0.5Γ— leaves it subthreshold (1.2 Hz, 0.4/46 active, 17.6Β° separation): the ring's ignition threshold sits between 0.5Γ— and 1.0Γ—, three to seven times above the regime that suffices for action selection. Holding a heading is a categorically more expensive class of computation than deciding what to do β€” the first thing in this book that ch28's 300Γ— discount cannot buy.

In one line: the connectome's compass is real, more stable than the theory that describes it, and completely defenceless β€” and the chapter only knows that because the cue-swap control disagreed with every pretty number in the room.

Chapter 38 Β· NavigationThe brake was never missing: the ring is quiet, localised, and still blind

Experiment 038 Β· experiments/038_missing_brake.py

ch37 blamed the embedded ring's cue-blindness on a missing brake β€” ambient excitation it had no way to refuse. The census answers before the simulation does: the brake is already there, 278 ER ring neurons delivering 80.8% of all inhibitory mass onto EPG. Amplify it 4Γ— and the ring becomes exactly the calm single-wedge bump ch37 admired β€” 479 Hz β†’ 42 Hz, 46/46 wedges β†’ 5.8, coherence 0.08 β†’ 0.31 β€” and cue separation stays at 3.9Β° of 180Β°, 0.4Β° on the second seed. The hypothesis is falsified by its own successful intervention.

The design was a titration. Inside whole_brain/dale_all, scale the anatomical ERβ†’EPG inhibitory block by k ∈ {0, 1, 4, 16, 64} and run ch37b's cue-swap protocol (cue at 0Β° vs 180Β°, absolute bump angle after release) at each level. The mandatory control delivers the same added mass onto the same 46 target cells with the same per-cell totals from 219 random non-ring inhibitory cells β€” everything matched except which neurons fire it.

1 Β· The brake exists, and the anatomy hands it over unambiguously. Searching the snapshot's labels for real ring neurons before synthesising anything: 278 ER cells, 97% classed inhibitory (270/278 GABA/GLUT), 219 of them synapsing onto EPG across 3,137 edges carrying 26,207 units of inhibitory weight. Total inhibitory mass arriving on EPG from the entire brain is 32,425 β€” so the ring-neuron pathway is 80.8% of EPG's inhibition, and it was present in every whole-brain run of ch37. There was no brake to add.

2 Β· It works β€” on everything except the cue. Deleting it (k=0) gives 494.6 Hz with all 46/46 wedges lit, coherence 0.079: the whole ellipsoid body on fire. As-wired (k=1): 479.5 Hz, 46/46, coherence 0.083 β€” the brake as the data ships it changes EPG's rate by 3%. At k=4 the picture snaps back to ch37's isolated regime: 42.1 Hz (the isolated ring ran at 43.1 Hz), 5.8 of 46 cells per bin β€” one clean wedge β€” coherence 0.31. Every statistic ch37 used to call the bump beautiful is restored. Cue separation: 3.9Β° at seed 3, 0.4Β° at seed 11. Mean 2.2Β°, i.e. 1.3% of the isolated ring's 173.8Β°, and seed-unstable at that scale.

3 Β· The control says the rescue was generic gain. Mass- and target-matched random inhibition reproduces the same regime: k=4 β†’ 51.9 Hz, coherence 0.31, 6.8 cells/bin, versus the ER arm's 42.1 Hz / 0.31 / 5.8. Its cue separation is 0.6Β° (seed 3) and 1.4Β° (seed 11) β€” statistically the same nothing. Ring-neuron identity buys no measurable cue-following over 219 arbitrary inhibitory cells wired to the same targets with the same weights. What the brake supplies to this model is a gain dial, which ch17 already mapped, not a heading computation.

4 Β· Over-braking has a floor, and the floor is suspiciously symmetric. At k=16 and k=64 (and in the random arm at k=64) every world lands on the identical readout: 21.7 Hz, exactly 2.0 cells per bin, coherence 1Γ—10⁻¹⁢. That coherence is not small, it is algebraically zero β€” two active wedges sitting exactly antipodally, cancelling in the population vector. Silencing the ring does not fade the bump out, it collapses it onto an opposed pair. Flagged for 039; it is the kind of number that is either a degenerate mode of the wiring or an artefact of the background drive, and coherence cannot tell those apart either.

Fraction of the hypothesised cause removed: essentially all of it. ch37 attributed the blindness to excitation the ring cannot refuse, and named the level: 479.6 Hz embedded versus 43.1 Hz isolated. The k=4 brake removes 91% of that excess rate and restores the isolated world's coherence and wedge count as well. The cue still does not move the bump. So the embedded ring's cue-blindness is not an excitation-level problem, and ch37's diagnosis β€” offered as the honest alternative to "fragility" β€” is wrong in a way only the intervention could show.

What is left standing is narrower and more interesting: the wedge that wins inside the whole brain may be anatomically predetermined β€” chosen by whichever EPG cells receive the most non-ring excitatory input, a fixed bias that a 100 Hz cue on 12 cells cannot outvote at any level of global inhibition. That is a prediction about the matrix, testable without a single new mechanism, and it is 039.

What this chapter is, in one line: the fix that worked perfectly and changed nothing β€” a brake that was always in the wiring, restoring every appearance of a compass while leaving the compass pointing wherever the anatomy already wanted.

Chapter 39 Β· NavigationThe loudest wedge, and the 100Γ— cue: the brake rides along with the drive

Experiment 039 Β· experiments/039_loudest_wedge.py

ch38's leftover suspect was that the embedded bump sits wherever the anatomy is loudest. Wrong as stated β€” raw non-ring input mass predicts the winner worse than chance (top-8 hit rate 0.04 vs 0.17) and its correlation with firing flips sign from +0.42 unbraked to βˆ’0.55 braked. The reason is one number: a cell's ER brake mass tracks its excitatory input at Spearman +0.86, so turning the brake up inverts the ranking. And the cue is not ignored, only outvoted: it moves the bump 21.8Β° at 100Γ— the ch37 cue charge and 86.7Β° at 333Γ—.

Three tests on the k=1 (as-wired) and k=4 (calm-bump) worlds of ch38: rank the 46 EPG cells by non-ring net input mass and correlate with who actually fires; titrate cue amplitude Γ— duration until the bump moves; and name the two cells that ch38's over-braked floor left standing.

1 Β· The hypothesis fails, and fails informatively. Anatomy alone nominated R3 (net non-ring input +317, spread across the population +27…+317). R3 never won a single run. Observed winners: R5 in all four unbraked runs, L4 in all eight braked ones. Spearman(net input mass, spikes) is +0.42/+0.46 at k=1 β€” when all 46 cells fire, input mass really does set rate β€” and βˆ’0.51β€¦βˆ’0.55 at k=4, where a bump exists. Top-8 hit rate 0.04 against a chance floor of 0.17: the loud cells are the ones that lose.

2 Β· The mechanism is that the brake is proportional to the drive. Per EPG cell, ER inhibitory mass and non-ring excitatory mass correlate at Spearman +0.859. Amplifying the brake therefore does not scale a background, it re-ranks the population β€” the best-fed cells are the most braked. Correcting the predictor to exc βˆ’ inh βˆ’ (kβˆ’1)Β·brake moves the actual winner L4 from rank 46/46 (raw mass, i.e. maximally wrong) to 4/46, and nominates L8 β€” which is exactly the cell that wins once the cue is strong enough to matter (finding 3) and one of the two survivors of ch38's floor (finding 4). The hypothesis is not rescued as stated; its corrected form has real predictive power.

3 Β· The cue is outvoted, not ignored β€” and the exchange rate is ~100Γ—. Titrating the cue in the k=4 world: 1Γ— charge β†’ 3.8Β° separation, 5.6Γ— β†’ 3.5Β°, 33Γ— β†’ 0.4Β°, 100Γ— β†’ 21.8Β°, 333Γ— β†’ 86.7Β°. Nothing below 33Γ— does anything at all, then it turns on. The isolated ring achieved 173.8Β° at 1Γ—. So embedding costs the compass two orders of magnitude of cue sensitivity, and "cue-blind" was the wrong word: the embedded ring is ~100Γ— deaf. A deafness with a number attached is a mechanism; a blindness is an adjective.

4 Β· Anomaly closed: the zero coherence was arithmetic, not silence. ch38's over-braked floor (kβ‰₯16: 21.7 Hz, exactly 2.0 cells/bin, coherence 1Γ—10⁻¹⁢) is L8 at 315Β° and L4 at 135Β° β€” the two survivors are exactly antipodal, so their population vector cancels identically. The reported bump angle of 270Β° in that regime is the arbitrary bisector of a cancelled sum and means nothing. Same two cells at both seeds and both cues.

Two rules earned. One: in a network where inhibition is recruited by the same input that excites, global gain is never global β€” every gain change is also a permutation of who wins, which is why ch38's "generic gain" rescue could restore every statistic and still not deliver a heading. Two: when an embedded circuit ignores an input, titrate before diagnosing; the difference between "cannot" and "needs 100Γ—" is the whole finding.

What this chapter is, in one line: the compass is not deaf to the world, it is outvoted by it at a measured exchange rate of a hundred to one β€” because the fly's brake is wired to whatever is shouting.

Chapter 40 Β· NavigationThe right door: the embedded compass works after all

Experiment 040 Β· experiments/040_right_door.py

Three chapters called the embedded ring stuck, then unprotected, then 100Γ— deaf. All three were measuring the doorway, not the circuit. Deliver the same heading the way the anatomy delivers it β€” as patterned inhibition through ER ring neurons, on top of a non-directional ignition β€” and cue separation jumps to 169–171Β° in 6 of 9 seeds at 10Γ— charge: 97% of what the isolated ring achieved, at a tenth of what the injected door needed for 21.8Β°. The count-matched shuffled-ER control gives exactly 0.0Β° in 9 of 9.

The fly's compass is not cued by someone injecting current into EPG. Visual heading arrives via ER ring neurons, which are GABAergic β€” they do not paint the bump, they carve it by inhibiting everywhere the cue is not. So: map the door, then knock on it properly.

1 Β· The map is a broadcast, not a topography. For each of the 219 ER cells with EPG output, the angular vector strength of its inhibitory weights across the 8 wedges averages 0.344 β€” and against a degree-preserving shuffle of which EPG cell each synapse lands on, the population mean z-score is βˆ’0.26, with z > 2 in 4 of 219 cells (2%, i.e. chance). No single ER cell in this label set aims at one part of the compass more than its own degree predicts. Whatever steering exists is distributed across the population, not written into individual cells.

2 Β· The bump was spontaneous, and that retro-explains three chapters. Run the braked world with no cue at all: 825 EPG spikes, coherence 0.25, 10/46 cells active, bump parked at 174.9Β°. The beautiful single-wedge bump of ch38–39 never needed the cue β€” so of course the cue never placed it. (Seed-dependent: the other no-cue seed stayed silent, so spontaneity is a basin, not a law.)

3 Β· An inhibitory door alone cannot cue β€” it can only mute. Driving the aimed ER cells with no ignition produces zero EPG spikes at 1Γ—, 10Γ— and 100Γ— charge, in both the braked and as-wired worlds. Release-from-inhibition needs something to release: inhibition can shape activity, never start it. That is why the door had to be tested as ignition + steering, and it is the cleanest statement of what a GABAergic input pathway is for.

4 Β· With ignition, the anatomical door steers β€” and the matched control never does. A non-directional 1Γ— kick to all 46 EPG cells, plus aimed ER drive: 1Γ— β†’ 6.7Β°, 10Γ— β†’ 169.6Β° mean over the 6 working seeds (39.0, 169.7, 7.3, 168.5, 170.8, 169.0, 169.5, 169.8, 12.7 across nine), 100Γ— β†’ 0Β° (over-suppression: EPG spikes collapse 766 β†’ 129 and the bump smears over 30/46 cells). The control β€” the same number of ER cells chosen at random, identical charge β€” gives 0.0Β° at every charge and every seed, both cues landing on the identical spontaneous angle. So the steering is carried by which ER cells, even though no individual ER cell has an angular preference.

5 Β· The honest half: the cue at 180Β° is confounded, the cue at 0Β° is not. The spontaneous bump sits at ~175Β°, so a cue at 180Β° is free β€” it always "works" (error 9–12Β° in 9/9). The unconfounded test is whether a cue at 0Β° can drag the bump out of that basin, and there the answer is 6 of 9 seeds at error 0.0Β°, versus 0 of 9 for the control (control error at cue 0: 151.9Β°). The three failures are one failure mode: the bump stays in the spontaneous basin at ~176Β°. Mean over all nine seeds is 119.6Β° = 69% of the isolated ring's 173.8Β°; call it partial, seed-dependent steering with a control that is flatly zero.

What this reverses. ch37's "stuck wedge", ch38's failed brake rescue and ch39's 100Γ— deafness were all real measurements of a badly-cued circuit. The connectome's ring can be told where north is; it just has to be told in GABA. Two rules earned: an inhibitory pathway must be tested as a modulator of ongoing activity, never as a stimulus; and before concluding a circuit ignores an input, check whether it is doing anything at all without one β€” a spontaneous bump will absorb every cue you throw at it.

What this chapter is, in one line: the compass was never broken, we were knocking on the wrong door β€” and when we knocked in GABA, six seeds out of nine pointed north.

Chapter 41 Β· NavigationA latch, not a compass: the bump can be born anywhere and moved nowhere

Experiment 041 Β· experiments/041_tracking.py

ch40 opened the door. This chapter asks the only question that matters next β€” can the heading change? Across 176 step-measurements in six arms β€” aimed ER, shuffled ER, clockwise, counter-clockwise, hold-still, and a global re-ignition kick at every step β€” the bump never moves: every single reading lands between 165Β° and 172Β°, mean error 90.1Β°, i.e. exactly chance. But the concurrent control shows the door was open once: with the ER pattern present from t=0, 3 of 4 seeds are born at error 0.0Β° β€” and then hold that heading through all eight steps. The connectome ring as wired here is a latch: set once, never updated.

1 Β· No tracking, and the failure is a straight line. Stepping the ER-delivered heading 0β†’45→…→315 with 600 ms per step, the per-heading error is 169.5, 123.4, 77.8, 32.5, 12.6, 57.4, 103.2, 147.4Β° β€” which is precisely |heading βˆ’ 168Β°|. The "error" is not error at all: it is the distance from a bump that is standing still. Two of eight steps are ever "followed", and those two are the ones that happen to pass near 168Β°.

2 Β· Every control lands on the same number, which is the point. Aimed 90.5Β°, shuffled 89.5Β°, counter-clockwise 90.0Β°, hold-still 90.6Β°, re-ignition 90.4Β° β€” five arms, one answer. Hysteresis between the clockwise and counter-clockwise sweeps is 1.1Β°: not a small asymmetry, a measurement of nothing moving in either direction. Even re-igniting the whole EPG population at every step fails, because the kick reinforces the incumbent bump instead of unseating it.

3 Β· The door is only open at birth β€” measured, not inferred. Repeat the sweep with the ER pattern present from t=0, concurrent with ignition, exactly as ch40 delivered it. Now the bump is born at heading 0 with error 0.0Β° in 3 of 4 seeds (the fourth stays in the basin) β€” ch40 reproduced inside a tracking protocol β€” and then it stays at 0Β° for all eight steps, ignoring every subsequent re-aim: later-step error 97.0Β°. So aimed inhibition selects where a bump forms and has no authority over one that already exists. Coherence is also lower at birth-under-inhibition (0.15 vs 0.34), a broader bump carved rather than painted.

4 Β· What this says about the model, precisely. Volume I's ch6 ring β€” an idealised cosine kernel β€” rotated. This one, built from the actual EPG + Ξ”7 + ER wiring, does not, at any charge we can deliver through the anatomical door without silencing it. The missing ingredient has a name in the anatomy we have not yet put in the loop: P-EN and P-EG neurons, the cells that multiply heading by angular velocity and hand the bump its rotation. A latch plus an angular-velocity input is a compass; a latch alone is a memory of where you were facing when you woke up.

The scope caveat, stated plainly. This is a negative about a 46-cell EPG/Ξ”7 core with ER input inside the full brain, driven by tonic background β€” not a claim that the fly's compass cannot rotate. It localises the failure: bump formation and bump maintenance are already in the wiring we simulated; bump motion is not, and ch42 goes looking for the cells that carry it.

What this chapter is, in one line: we found the compass can be pointed, then discovered it cannot be turned β€” and that is the sharpest possible statement of what a heading circuit needs beyond a ring and its brake.

Chapter 42 Β· NavigationThe missing multiplier was never missing β€” it was mirrored

Experiments 042 + 042b Β· experiments/042_pen_offset.py, experiments/042b_mirror.py

ch41 ended by naming the absent ingredient: P-EN, the neurons that are supposed to copy the heading bump back onto EPG shifted by one wedge, left and right shifting in opposite directions, so that driving one side harder rotates the compass. That is an anatomical claim, and snapshot 783 can answer it with no simulation at all. It does: 43 PEN cells (20 PEN1, 23 PEN2), 18 PEG, 7 EPGt carry wedge labels, and 47 of 68 project onto EPG over 434 edges / 9,298 synaptic weight. The multiplier is in the wiring. The first pass then appeared to falsify the textbook β€” and the reason it did is the most instructive thing in this chapter.

1 Β· PEN shifts, PEG does not β€” and the shuffle agrees. Weighting every PENβ†’EPG synapse by its strength and taking the circular mean offset in wedges, the population piles at βˆ’1 wedge: the offset histogram is {βˆ’4:2, βˆ’3:3, βˆ’2:8, βˆ’1:20, 0:7, +2:1, +3:1}, and per-cell offset concentration scores z β‰ˆ +2.0 against a degree-preserving shuffle of which EPG cell each synapse lands on (z>2 in 25 of 42 cells). PEG, by contrast, is an exact same-wedge copy: offset +0.0Β°, concentration 1.000, in 5 of 5 cells that project. A shifted copy and an unshifted copy β€” precisely the pair a ring attractor needs to both hold and turn.

2 Β· The apparent falsification: both hemispheres shifted the same way. Rotation needs the two sides to be antisymmetric β€” left βˆ’1 wedge, right +1 wedge β€” so that asymmetric drive has a direction. Measured with wedge index mapped to angle identically in both hemispheres, they were not: left βˆ’76.4Β°, right βˆ’54.1Β°, difference βˆ’22.3Β°, against a shuffle null of |Lβˆ’R| = 89Β°. The two sides were more alike than chance (z = βˆ’1.59). Taken at face value that is a wiring-level negative: a shift with no sign, which cannot steer.

3 · It was the angle convention, and concentration proved it. EPG_L1 and EPG_R1 are not the same heading; the two hemispheres' index→angle maps are mirrored in the real ellipsoid body. So the same 434 synapses were re-measured under four conventions, arbitrated not by which sign looked nicer but by offset concentration — a wrong map smears a real shift across wedges, a right one sharpens it:
conventionPEN leftPEN rightLβˆ’Rconcentration
identical (042's)βˆ’76.4Β° (βˆ’1.70w)βˆ’54.1Β° (βˆ’1.20w)βˆ’22.3Β°0.579
mirrored rightβˆ’48.0Β° (βˆ’1.07w)+46.1Β° (+1.02w)βˆ’94.1Β°0.921
mirrored left+48.0Β° (+1.07w)βˆ’46.1Β° (βˆ’1.02w)+94.1Β°0.921
half-wedge offsetβˆ’80.1Β° (βˆ’1.78w)βˆ’42.9Β° (βˆ’0.95w)βˆ’37.3Β°0.599
Under the mirrored map the answer is textbook to two decimal places: βˆ’1.07 wedges on the left, +1.02 wedges on the right, per-side concentration 0.940 and 0.998, cell-wise concentration jumping from 0.579 to 0.921. The antisymmetry is exact, and the convention that produced it was chosen by a sharpness statistic that knows nothing about signs.

4 · The return path exists too, so the loop can actually close. A multiplier is useless without its input: EPG→PEN/PEG is 512 edges / 9,411 weight reaching 67 of 68 cells, and Delta7 (the ring's inhibitory spoke) adds 230 edges / 3,689 weight to 59 of 68. So the full circuit EPG → PEN → EPG-shifted is present in the snapshot with comparable mass in both directions (9,411 in, 9,298 out) — ch41's latch was missing this by construction, not by anatomy: the simulated core was EPG + Delta7 + ER only.

Two lessons, one of them methodological and uncomfortable. The scientific one: the ingredient ch41 declared absent is present, correctly wired, at the right magnitude, with the exact Β±1-wedge antisymmetry that generates rotation β€” so the latch was a scope result, not a verdict on the connectome. The methodological one: this chapter was four hours from publishing a wiring-level negative that was really a coordinate-system bug. What saved it was insisting that a convention be chosen by an independent statistic β€” concentration β€” rather than by whether its output matched expectation. A null result is only as trustworthy as the map you measured it in.

Next: 043 puts them in the loop. Add PEN/PEG to ch40's braked world, born through the concurrent ER door, and drive left and right populations asymmetrically as an angular-velocity command. The measurables are deg/s per unit command, whether L and R give opposite directions, and — the controls that decide it — shuffled PEN→EPG offsets (same mass, scrambled wedge map) and symmetric drive (no rotation expected). If the bump now turns, ch41's latch becomes a compass.

Chapter 43 Β· NavigationThe engine is the steering wheel: why a textbook multiplier still cannot turn the bump

Experiments 043, 043b, 043c, 043d, 043e Β· experiments/043*_*.py

ch42 found the rotation wiring exactly as the textbook draws it: PEN→EPG shifted by ±1 wedge, antisymmetric across hemispheres, concentration 0.92. This chapter drives it — and fails, five times, each failure diagnosed before the next. The answer is not "the connectome lacks a compass". It is sharper and more interesting: in the as-wired ring, PEN is the excitatory engine that keeps the bump alive, and it runs at the refractory ceiling to do so. The same population cannot be both what sustains activity and what modulates it — sustain and steer are one knob, and sustain pins it.

1 Β· First attempt: no rotation, and the receipts refuse it. Driving L versus R PEN in ch40's braked whole-brain world gave Lβˆ’R = βˆ’5.5 Β°/s against a shuffled-offset control of +1.3 and a no-drive floor of +25.8 Β± 57.3 Β°/s β€” a "signal" smaller than the floor's noise. But coherence at the nominal birth bin was 0.00: the bump had not formed when the cue was released, and every arm simply fell into ch38–40's spontaneous ~165Β° basin. One real result survived: PEN drive is heard, EPG spikes 911 β†’ ~2350, a 2.6Γ— rate change.

2 Β· The killer number: 16Γ— and 64Γ— were byte-identical. Rerun with the ER cue held for the whole run so a bump genuinely exists, PEN spikes counted as a receipt: 29,400 PEN spikes in every arm, including no-drive β€” 43 cells Γ— 1400 ms Γ· 2.2 ms refractory, i.e. exactly the ceiling, ~488 Hz. A 16Γ— command and a 64Γ— command produced identical EPG totals (4008 both). Refractoriness had absorbed the entire angular-velocity command. You cannot modulate a pinned neuron.

3 Β· The pinning is intrinsic, not ambient. The obvious suspect was whole-brain background input, so the test moved into the isolated ring (EPG + Delta7 + ER + PEN/PEG, 403 nodes, ERβ†’EPG brake Γ—4). PEN stayed at 485–490 Hz, saturation 1.07, in every arm including no-drive. The pinning is the ring's own EPGβ†’PEN excitation β€” 9,411 synaptic weight, the very return path ch42 celebrated for closing the loop.

4 Β· The window is empty β€” swept, not argued. If saturation is the problem, lower the gain. Sweeping ring gain with no drive gives two disjoint regimes and nothing in between:
ring gainPEN ratesaturationEPG spikesbump?
0.06 – 0.200.0 Hz0.0064 – 139dead (1 of 20 live bins)
0.35410.5 Hz0.9012,240coh 0.15
0.60477.9 Hz1.059,378coh 0.15
1.00484.7 Hz1.078,678coh 0.04
Zero of seven gains satisfied both conditions (PEN saturation < 0.6 and coherence > 0.15). Where the command has room, there is no bump to steer; where there is a bump, the command has no room.

5 Β· And the two knobs will not separate, because PEN holds the ring up. Ring gain and PEN excitability were then swept independently β€” every synapse arriving on PEN scaled by 0.02–1.00, at gains 0.35/0.60/1.00, 15 cells. Every pen_scale below 1.0 kills the entire ring: EPG drops to 35–54 spikes and 1 of 20 live bins, at every gain. 0 of 15 cells had a bump with unsaturated PEN. PEN is not a steering input layered onto a self-sustaining attractor β€” remove its drive and the attractor goes out.

6 Β· The control that closes it: PEN ignites, it does not steer. In the unsaturated cells (PEN sat 0.14–0.16), a 16Γ— command does produce large angle changes β€” Lβˆ’R = +36.3Β° and +52.4Β° across three seeds. So does the shuffled-offset control, at +57.8Β° and +55.1Β°, with standard deviations of 105–115Β° in both. Same magnitude, same scatter, wedge map irrelevant: the drive is igniting a bump at a seed-dependent angle, which is precisely what ch40 warned about β€” an input that creates activity is not an input that moves it.

The shape of this negative matters more than the negative. ch41 said the multiplier was missing; ch42 found it wired perfectly; ch43 finds it fully employed. In this snapshot the EPG→PEN→EPG loop is what keeps the bump burning, and burning costs everything PEN has — 488 Hz, the refractory ceiling, with no headroom left over for an angular-velocity command. A living fly escapes this because it has a variable the connectome does not store: per-cell excitability, set by neuromodulation and by a velocity input that arrives on PEN in the noduli rather than as generic somatic drive. Three chapters have now landed on the same structural fact from different directions — everything working is actively maintained — and here maintenance consumes the very neuron that was supposed to steer.

Next, 044, and it follows from the ceiling itself: a saturated neuron cannot be excited further, but it can always be inhibited. If PEN must run flat out to hold the bump up, then the only angular-velocity command it can physically carry is a subtractive one β€” suppress left PEN and the right-shifted copy dominates. That is a different sign, a different measurement, and the same controls (shuffled offsets, symmetric suppression, no-drive floor).

Chapter 44 Β· NavigationBreak half the compass and it gets sharper: the ring is over-excited, not under-wired

Experiments 044 + 044b Β· experiments/044_subtractive.py, experiments/044b_power.py

043 left one delivery route untried. PEN cannot be pushed β€” it already runs at the refractory ceiling holding the bump up β€” but a saturated neuron can always be inhibited. So the angular-velocity command went in subtractively: silence one hemisphere's PEN and let the surviving side's Β±1-wedge copy walk the bump. Suppression works as advertised (a side goes fully dark, PEN asymmetry Β±452–476 Hz against a +20.7 Hz floor) and the bump does jump. It still does not turn. What it does instead is the finding: with half the multiplier gone the compass becomes five times sharper, coherence 0.071 β†’ 0.361, and the effect does not care where PEN's synapses land.

1 Β· H1 rotation: rejected, and rejected by the control rather than by the error bar. Over 8 seeds the as-wired left-minus-right shift is +55.0Β° Β± 27.2 (z = +2.02) β€” which taken alone would read as a result. The shuffled-offset control, same cells and same mass with the wedge map scrambled, gives +27.3Β° Β± 1.2, z = +22.4: a more significant Lβˆ’R difference from a map that carries no spatial information at all. A displacement that survives destroying the wedge map is not the wedge map's doing. Drift slopes settle it: βˆ’0.0 and +5.2 Β°/s. Nothing rotates; unilateral silencing simply moves the bump once, toward whatever the surviving hemisphere's excitation favours.

2 Β· H2 sharpening: large, reliable, and map-independent. Coherence rises from 0.071 Β± 0.013 (no suppression) to 0.361 Β± 0.010 with one side silenced β€” z = +18.2, every seed agreeing β€” while EPG spikes fall 8299 β†’ 5066. Run the identical arm on the scrambled map and coherence goes to 0.394 Β± 0.005 (z = +23.9). The script's own verdict line calls it: sharpening is about lost excitation, not about which EPG wedges PEN targets. The ring at the paper's gain is not merely saturated (ch43) β€” it is over-excited, and the bump it holds is blurred by the very drive that sustains it.

3 Β· Symmetric suppression is worse than unilateral, which is the shape of a budget. Silencing both hemispheres drops EPG spikes to 2506 and coherence lands at 0.185 Β± 0.039 β€” better than the unsuppressed floor (0.071) but only half of unilateral (0.361). So coherence is not a monotone function of "less excitation": there is an optimum, and the as-wired ring sits far above it while total silence sits below. Between too much drive and too little there is a narrow band where this connectome holds a clean heading, and paper gain is not in it.
armPEN asymmetryEPG spikescoherencedrift slope
no suppression+20.7 Hz82990.071 Β± 0.013+11.4 Β± 26.2 Β°/s
suppress leftβˆ’452 Hz50660.361 Β± 0.010βˆ’0.0 Β± 0.3 Β°/s
suppress right+476 Hz46820.361 Β± 0.019+5.2 Β± 0.7 Β°/s
suppress bothβˆ’0.2 Hz25060.185 Β± 0.039β€”
shuffled map, leftβˆ’453 Hz95360.394 Β± 0.005+1.5 Β± 0.3 Β°/s

4 Β· One honest gap. There is no unsuppressed-shuffled arm, so this chapter cannot claim that scrambling PEN's targeting sharpens the bump by itself β€” only that under identical unilateral suppression, the as-wired and scrambled maps sharpen alike (0.361 vs 0.394). The map-independence conclusion rests on that matched comparison, and it is stated no wider than the comparison supports.

Five chapters have now asked this ring to be a compass. It can hold a heading (ch40), it cannot update one (ch41), its steering hardware is wired exactly right (ch42), that hardware is fully consumed by keeping the bump alive (ch43), and removing half of it improves the bump (ch44). Read together they say something the connectome alone cannot: this wiring diagram is a compass missing its regulator, not its mechanism. Every ingredient the textbook names is present and correctly arranged; what is absent is the setting β€” the excitability, the balance, the per-cell gain that a living fly adjusts continuously and a static snapshot cannot store. The structure says what the circuit could do. It does not say at what volume to play it.

The central complex has given what it has to give at this level of description, so 045 opens Volume II's largest continent: the optic lobes, some 55% of all neurons. First move is a gate, not a simulation β€” a census of what snapshot 783 actually labels (T4/T5 subtypes a–d, their Mi1/Tm3/Mi4/Mi9 inputs, LC4/LPLC2, the giant fibre) β€” because ch-sleep died of assuming labels exist. If the motion detectors are there with their offset inputs, the Hassenstein-Reichardt correlator can be tested as wiring before a single spike is simulated.

Chapter 45 Β· VisionThe gate to the optic lobes: eight motion detectors, both arms, and the sign that gives it away

Experiments 045 + 045b Β· experiments/045_optic_gate.py, experiments/045b_correlator_gate.py

The optic lobes are roughly 55% of this brain and Volume II's largest unexplored continent. An earlier attempt at sleep died of assuming labels existed, so this chapter is deliberately a gate rather than an experiment: census first, science only if the census passes. It passes β€” all eight direction detectors are named (T4a–d: 1505–1695 cells each; T5a–d: 1494–1576), with both arms of the correlator and a clean ON/OFF split. And the gate found its own bug: the first pass summed signed weights, so the delayed arm came out negative and the verdict misfired. The negative was the biology.

1 Β· The delayed arm is inhibitory, and the snapshot says so unprompted. Neurotransmitter calls on the four T4 inputs: Mi1 ACh, Tm3 ACh, Mi4 GABA, Mi9 glutamate. The fast arm excites, the slow arm inhibits β€” which is not the pure Hassenstein-Reichardt multiplier but the hybrid HR / Barlow-Levick detector that fly physiology has argued for: preferred-direction enhancement plus null-direction suppression. That distinction was inferred here from a sign convention applied to 139,255 neurons, not from any vision-specific assumption.

2 Β· ON and OFF are separated by two orders of magnitude. T4 receives 47.3 synapses/cell from the ON pathway (Mi1/Tm3/Mi4/Mi9) against 0.23/cell from the OFF pathway (Tm1/2/4/9) β€” a 209Γ— separation. T5 mirrors it: 49.8/cell OFF versus 0.57/cell ON, 87Γ—. The two channels are not merely biased; in wiring terms they barely acknowledge each other, and the near-zero rows for T5c and T5d (0.00/cell from every Mi type) show the segregation is essentially absolute per cell.

3 Β· One recipe, repeated four times β€” so orientation cannot be made of mass. The fast/slow ratio across T4a, T4b, T4c, T4d is 6.74, 5.32, 7.41, 9.14 (coefficient of variation 0.22), and each subtype draws the same input list in the same proportions. Four cardinal preferred directions are built from one synaptic recipe, which means the direction cannot be encoded in how much each arm contributes β€” it must live in where the arms come from, retinotopically. That is a testable claim, and it is the next experiment.

4 Β· Two honest gaps, recorded before they can become surprises. (a) Looming is not testable here: LPLC2 has 3 labelled cells (the real animal has ~100), and DNp01 β€” the giant fibre β€” has none, so the LC4/LPLC2β†’escape story planned for Volume II is off the table in snapshot 783 at label level. (b) There are no coordinates anywhere in the snapshot: neurons.csv carries only neurotransmitter columns, cell_stats.csv only size and length. So the retinotopic offset between the fast and slow arms cannot be measured from positions; it has to be derived from connectivity itself.

The central complex arc (ch40–44) ended by concluding that a connectome states mechanism but not setting. The optic lobes open with the complementary lesson: here the mechanism is stated twice over β€” once in the wiring, once in the neurotransmitter signs β€” and the interesting quantity, direction, is stated in neither. It is stated in geometry the file does not contain.

046 goes after that geometry the only way available: derive columns from connectivity. Two Mi1 cells that drive the same T4 cells sit in the same retinotopic neighbourhood, so the Mi1β†’T4β†’(Mi4,Mi9) bipartite structure defines a graph whose embedding is the retina. The measurable: for each T4 cell, is its inhibitory input drawn from a different column than its excitatory input, and is that displacement consistent within a subtype and different between subtypes? Four subtypes should give four distinct offset directions. Controls: degree-preserving shuffles of the Mi9β†’T4 map, and T5 (whose four subtypes must produce four offsets in the OFF channel independently).

Chapter 46 Β· VisionA retina with no coordinates: the connectome names four directions by itself

Experiments 046 + 046b Β· experiments/046_retina_embed.py, experiments/046b_two_axes.py

ch45 left a sharp problem. All four T4 subtypes draw the same synaptic recipe (fast/slow 6.74/5.32/7.41/9.14, cv 0.22), so their four cardinal preferred directions cannot be built out of how much each arm contributes β€” direction has to live in where the arms come from. And snapshot 783 contains no coordinates whatsoever. So the retina was rebuilt from the graph: two medulla cells that drive the same T4 cells are retinotopic neighbours, which makes co-innervation similarity a lattice, and its embedding an eye. Then, per T4 cell, the vector from its inhibitory input centroid to its excitatory input centroid. The four subtypes come out as two orthogonal axes with antiparallel pairs β€” 86.5Β° between axes, 173.6Β° and 169.6Β° within them. Nobody told this analysis that vision has a horizontal and a vertical.

1 Β· The result, and the controls that make it one.
runa–b axisc–d axisangle betweenopposition a/b, c/dmean R
T4 as-wired78.1Β°164.6Β°86.5Β°173.6Β° / 169.6Β°0.427
embedding seed 9978.3Β°164.6Β°86.3Β°173.2Β° / 169.6Β°0.427
slow arm shuffled34.4Β°64.7Β°30.2Β°33.7Β° / 13.8Β°0.105
T5 / OFF channel82.0Β°167.8Β°85.8Β°175.9Β° / 158.7Β°0.588
Perfect scores would be 90Β° between axes and 180Β° within pairs. The as-wired T4 numbers are 86.5 and 173.6/169.6. The degree-preserving shuffle β€” same cells, same number of synapses per T4 cell, scrambled partners β€” collapses the oppositions to 33.7Β°/13.8Β° and the concentration to 0.105. And the OFF channel, built from an entirely separate cell set (Tm1/Tm2 fast, Tm9/Tm4 slow) onto T5, reproduces the whole structure independently at 85.8Β° with the tightest concentration of all, R = 0.588.

2 Β· What was fixed, and why it mattered. 046's first embedding reported eigenvalues [1.0, 1.0, 0.9967] β€” a degenerate top pair, because the similarity graph has two connected components (2295 and 2 nodes) and normalized adjacency contributes an eigenvalue of 1 per component. One of the two "axes" was a component indicator, so only a single real dimension survived and all four offsets collapsed onto Β±y. The tell-tale was visible in the numbers before the cause was found: c/d had R β‰ˆ 0.49 while a/b had R β‰ˆ 0.14–0.20, exactly what happens when one axis is resolved and the perpendicular pair projects weakly onto it. Dropping the 2-cell component gives eigenvalues [1.0, 0.9967, 0.9946, 0.9889] β€” one trivial, then a genuine spectrum β€” and both axes appear at once.

3 Β· Two honest limits. (a) Absolute angles mean nothing here. A spectral embedding is defined only up to rotation and scaling, so 78.1Β° is not "78Β° on the fly's eye"; only relative quantities β€” opposition within a pair, angle between axes β€” carry information, and those are what the chapter claims. (b) The informative plane is eigenvectors 2–3. Eigengaps are small (0.0033, 0.0021), so higher pairs mix: planes (2,4) and (3,4) give 83.9Β° and 46.0Β° with mean R 0.287 and 0.270. Both are reported rather than dropped, and the plane was chosen by concentration, not by which answer looked best β€” a rule worth stating out loud when the tempting number is 90.

This is the chapter Volume II was looking for. Everything before it in the visual continent described structure; this reads function off structure with nothing added β€” no positions, no physiology, no fitted parameters, not even a simulation. Four labelled cell types, one shared synaptic recipe, and a graph: out come two perpendicular motion axes with opposed pairs, i.e. the four cardinal directions of fly optic flow. ch42 found the ring's Β±1-wedge shift the same way, at the scale of 46 neurons; this is the same argument at the scale of 2295, and it survives a shuffle that preserves everything except who talks to whom. Where the central complex needed a setting the file could not store, the retina needs only the file.

047 spends the result. With a retina in hand, a moving grating can be swept across the derived lattice and fed to the real T4 subtypes through their real synapses: does subtype a fire more for motion along +axis-ab than βˆ’axis-ab, and does the inhibitory arm's delay produce the asymmetry, as the hybrid HR/Barlow-Levick reading of ch45 predicts? That is a LIF simulation with a direction-selectivity index per subtype, its null-direction control built in, and β€” following ch27's leverage table β€” a price tag in spikes for one visual decision.

Chapter 47 Β· VisionThe wiring's prediction, paid out in spikes β€” after two wrong stimuli and one wrong control

Experiments 047, 047b, 047c Β· experiments/047_direction.py, 047b_scale.py, 047c_percell.py

ch46 made a prediction out of pure structure: the four T4 subtypes should behave as two orthogonal axes with opposed pairs. Predictions are cheap until something has to fire. So the derived retina got a drifting grating, the medulla cells became Poisson sources at the phase their own embedded positions imply, their spikes went through the real signed synapses, and T4 integrated as LIF. The answer, at the third attempt: the spike-derived axes sit 89.8Β° apart against the wiring's 86.5Β° β€” and the two controls that should destroy it, do.

1 Β· The result: structure's prediction, confirmed in spikes.
armT4a prefT4b prefT4c prefT4d prefa–b vs c–d axisconcentration R
as-wired63.4Β°259.8Β°351.3Β°152.2Β°89.8Β°0.139–0.259
zero lag54.7Β°260.2Β°68.2Β°134.1Β°33.7Β°0.027–0.171
slow arm shuffled346.6Β°180.4Β°307.8Β°144.7Β°37.2Β°0.036–0.100
ch46, from wiring alone86.5Β°0.427
As-wired, a and b oppose each other (163.6Β°), c and d oppose each other (160.9Β°), and the two axes cross at 89.8Β°. Remove the delay and the axes fall to 33.7Β° with c–d opposition breaking down to 65.9Β°. Shuffle which columns the inhibitory arm reads β€” same cells, same synapse counts β€” and the axes fall to 37.2Β° while the per-cell agreement collapses to R = 0.036–0.100. The geometry needs both the offset and the lag, which is the definition of a correlator, and it reappears in spikes within 3.3Β° of the number the connectome predicted before any neuron was simulated.

2 Β· Two wrong stimuli, both diagnosed by measurement rather than intuition. The first run was flat (mean|DSI| 0.007, every control identical). The reason was not the circuit: the grating's period was 2.0 embedding units = 94.7 columns, while the fast–slow offset carrying the signal is 2.3–3.0 columns β€” both arms sampled the same phase to within ~3% of a cycle, a stimulus ~30Γ— too coarse to interrogate the mechanism. Rescaling to column units and sweeping period Γ— drift then peaked exactly where a correlator should: best at 11–20 columns and 10 Hz, matching the two predictions registered in advance (offset/period β‰ˆ 0.25 cycle β†’ ~11 columns; lag Γ— tempo β‰ˆ 0.25 cycle β†’ 10 Hz at the 25 ms lag). A flat result is a claim about the question asked, and the arithmetic of scales says which.

3 Β· The control I designed wrong, kept in the record. Making the slow arm excitatory was supposed to abolish selectivity, on the reading that ch45's inhibitory delayed arm (Mi4 GABA, Mi9 glutamate) is what builds direction. It did not (0.0259 vs 0.0295 as-wired). That is textbook-correct and my expectation was wrong: Hassenstein-Reichardt enhancement and Barlow-Levick suppression both yield direction selectivity, so a delayed offset input works with either sign. The sign changes how the fly computes motion, not whether it can β€” so this experiment cannot adjudicate HR versus BL, and the chapter does not pretend to.

4 Β· And the statistic I had to throw away. Per-cell median DSI is +0.143 as-wired, +0.136 zero-lag, +0.130 shuffled β€” indistinguishable. This is a biased estimator, not a null result: DSI taken as (max bin βˆ’ opposite bin) picks the largest of 8 noisy counts, so a cell with no preference at all scores positive. Magnitude is therefore uninformative here and no magnitude is claimed. What survives the bias is the agreement between cells β€” the circular concentration of per-cell preferred directions and the axes they imply β€” and that is the statistic the result rests on.

Three chapters, three different ways of being wrong: a stimulus at the wrong spatial scale, a control built on a wrong prediction, a statistic with a built-in positive bias. None of them were caught by intuition; each was caught by measuring the thing itself β€” column spacing against grating period, control against textbook, estimator against its own null. What is left standing is the strongest form of a connectome result: a geometric claim derived from wiring with no dynamics (86.5Β°), then paid out by dynamics that never saw the claim (89.8Β°), with the delay and the offset each proven necessary by removal.

048 prices it. ch27 built a leverage table for olfaction β€” smell spikes bought 6.8Γ— more downstream consequence than sight spikes β€” but that comparison used a placeholder for vision. Now there is a real visual pathway with real spike counts (β‰ˆ175,000 spikes per direction judgement at these settings), so the question can be asked properly: what does one visual decision cost, in spikes and in synaptic events, next to one olfactory decision β€” and does ch28's 300Γ— efficiency cliff at the ignition edge have a visual counterpart?

Chapter 48 Β· Vision Β· EconomicsWhat a visual decision costs: 3% above being awake, and no cliff to fall off

Experiment 048 Β· experiments/048_visual_price.py

ch27 priced olfactory decisions and found them energetically invisible β€” opposite motor outcomes for the same bill, within 2%. ch28 then found a 300Γ— efficiency cliff in that same circuit: at the edge of ignition, gain 0.125–0.15Γ— delivered the full decision on ~10K spikes where paper gain spent 2.1M. Both results came from one continent. Now there is a working visual pathway (ch47: spike-derived axes 89.8Β°), so both can be asked again in a place that shares none of the same cells. The invisibility transfers. The cliff does not β€” and the reason it doesn't is the most interesting number in the chapter.

1 Β· A judgement costs 3% above being awake. The baseline here is not silence but a blank with the same mean input rate and no spatial or temporal structure β€” the price of seeing something, rather than the price of having eyes. At gain 0.06 the four-direction judgement runs to 701K spikes total, of which only 22K are above that blank: 3.1%. ch27's olfactory finding β€” opposite decisions, identical budgets within 2% β€” reappears here as: structured and unstructured input at matched rate cost the same to within 3%. Two independent circuits, two independent measurements, the same verdict: the computation is a rounding error on the maintenance.

2 Β· No 300Γ— cliff β€” and the explanation is where the cost lives.
gainaxis separationRactive T4T4 spikes (blank)total spikesR per Mspike
0.02β€”β€”02 (0)0.66Mβ€”
0.04β€”β€”06,021 (1,148)0.66Mβ€”
0.0689.2Β°0.20679442,851 (21,256)0.70M0.294
0.1084.2Β°0.1282,206172,519 (138,208)0.83M0.155
0.1587.1Β°0.1002,698352,602 (322,836)1.01M0.099
0.2069.8Β°0.1192,860522,891 (498,076)1.18M0.101
Efficiency does fall monotonically with gain β€” 0.294 β†’ 0.099 R per Mspike, a 3Γ— gradient β€” and the cheapest working gain is 0.06, exactly the value ch47 used. But there is no 300Γ— saving available, because in this circuit the cost is exogenous: 657,671 of the ~700K spikes are the medulla's input drive, which does not depend on gain at all. In the olfactory circuit the bill was endogenous β€” a recurrent central cascade that ignites, so turning the dial down saved 2.1M spikes. Here the dial only governs the thin output layer. Efficiency cliffs live where cost is self-generated; a feedforward front end has no cliff to fall off. That is a prediction about which circuits reward gain control, not a fact about flies' eyes alone.

3 Β· The leverage table, cross-validated by dynamics. ch27 built its megaphone table from static fan-out: olfactory cells 1682–2139 synapses per spike, optic cells 262, hence "a smell spike moves 6.8Γ— more synapses than a sight spike." 048 remeasures the visual figure weighted by which cells actually fire: 372 syn/spike, giving a leverage ratio of 5.1Γ—. The static estimate was ~30% low β€” spiking cells here are slightly better connected than average β€” but the conclusion survives at the same order, which is what cross-validation is for. Two methods, 262 versus 372, one qualitative claim standing.

4 Β· The ignition edge is sharp, and sits between 0.04 and 0.06. At 0.04 the circuit emits 6,021 T4 spikes yet no subtype has ten cells with a measurable preference β€” activity without information. At 0.06, 794 cells are active and the axes snap to 89.2Β°. So vision has the same knife-edge ch4 and ch28 found in olfaction: below it, nothing to read; just above it, the full answer at the best price in the sweep. The edge is bracketed rather than located here β€” a finer sweep between 0.04 and 0.06 is owed.

Two continents now agree on the thesis Volume I kept running into: a brain's decisions are cheap and its readiness is expensive. Where they disagree is instructive rather than awkward β€” olfaction rewards a gain dial with a 300Γ— saving because its cost is its own recurrence; vision cannot, because its cost arrives from outside through the photoreceptors. The connectome does not state that difference anywhere. It falls out of running the same accounting twice in two places.

049 closes the loop Volume II promised: vision β†’ central complex β†’ descending. The pieces now exist separately β€” a retina that reports motion direction (ch46–47) and a ring that holds a heading but cannot update it (ch40–44). The question is whether the connectome connects them: do T4/T5 reach the ring neurons or EPG cells by any short path, and does visual motion of the right sign move the bump where ch41's internal commands could not? If it does, the ring's missing regulator may simply have been its missing eye.

Chapter 49 Β· Vision β†’ NavigationThe compass does not listen to motion: two visual streams, and only one is wired to the ring

Experiment 049 Β· experiments/049_visual_to_ring.py

ch40–44 left the ring attractor as "a compass missing its regulator, not its mechanism" β€” every internal command refused, coherence set by an excitation budget. ch46–47 built a retina that reports motion direction. The obvious hypothesis was that the missing regulator is an eye, so this chapter went looking for the wire. It found one β€” and then found that it is the wrong one. From the motion detectors the compass is three hops away through a needle's eye. Meanwhile a parallel visual stream, which never touches T4 or T5, arrives at the same ring with 23Γ— the synaptic mass. The connectome answers a question I did not ask: not whether vision reaches the compass, but which vision does.

1 Β· From motion to compass: three hops, and a needle's eye. Breadth-first from all 6,223 right-eye T4/T5 cells: nothing at hop 1 or 2, then at hop 3 it reaches 40 of 46 EPG cells and 40 of 278 ER cells; Delta7 and the 43 PEN1/PEN2 cells only at hop 4. The carriers are exactly the textbook ones β€” lobula plate tangential cells and LPX at hop 1, and at hop 2 a bottleneck of three cells, one of them ExR5, a known ellipsoid-body tangential neuron. Total mass arriving on EPG this way: 991 synapses, net βˆ’137 (inhibitory). Against EPG's total input of 48,858 that is 2.03%. The motion route to ER is thinner still: 683 synapses, 0.52% of ER's 130,916.

2 Β· The stream that is actually wired to the ring. Searching for the canonical landmark pathway finds it intact in snapshot 783 and an order of magnitude heavier:
pathwaycellsmass onto ERshare of ER input
T4/T5 motion route (3 hops, via LPTC/LC1)6,223 β†’ 216830.52%
MeTu β†’ TuBu β†’ ER (anterior optic tubercle)898 β†’ 15515,26711.7%
MeTu→TuBu carries 17,008 synapses; TuBu→ER carries 15,267. So the compass's visual door is 23× wider for the tubercle stream than for the motion stream — and it lands precisely where ch40 already did the hard work: ER supplies 26,207 of EPG's 48,858 synapses (54%), and ch40 proved that ER→EPG targeting is wedge-specific with a real angular map, not a diffuse wash. The landmark channel arrives through the one input that is already known to speak the compass's coordinate system.

3 Β· What this does to ch40–44's verdict. Those chapters asked the ring to update its heading using internal commands β€” additive drive onto PEN (ch43), then unilateral suppression (ch44) β€” and it refused every time, while its own recurrence (PEN 9,267 + ER 26,207 + EPG 2,279 + Delta7 873) ran at the refractory ceiling. The census reframes that: a circuit whose largest single input is a sensory channel was being asked to steer itself from the inside. The ring is not a compass missing a regulator; it is a compass missing its landmark. That is a testable claim, not a consolation β€” and it names the exact wire to push.

4 Β· One caveat about hop counts. Reachability here is unsigned and unweighted, so "3 hops" means a path exists, not that a signal survives it β€” which is why every route above is reported with its synaptic mass and net sign, and why the 991-synapse EPG route is called a needle's eye rather than a pathway. Conversely, thin does not mean irrelevant: ch44 showed this ring is over-excited, and a 2% inhibitory input arriving at a saturated circuit is not obviously negligible. Both routes are therefore live hypotheses for 049b; the anatomy only ranks them.

This is the chapter that justifies doing anatomy before dynamics. Had 049 gone straight to a simulation, it would have driven T4a and T4b β€” the horizontal motion pair, the intuitive yaw command β€” down a wire carrying 0.5% of the ring's input, watched nothing happen, and filed another honest negative. The census cost minutes and redirected the whole experiment: ask the wiring which door is wide before knocking on one.

049b knocks. Drive the TuBu→ER channel as a landmark command — ER cells weighted by the tubercle input they actually receive — and ask ch41's exact question with ch44's exact scoring: pre/post population vector angle, drift slope, coherence, against a degree-preserving shuffle of which ER cell each TuBu synapse lands on. If the bump moves where internal commands could not, Volume II ends with the compass working: a ring that steers when, and only when, it is given something to look at.

Chapter 50 Β· NavigationThe wide door was open, and the compass still did not turn

Experiments 049b + 049c Β· experiments/049b_landmark.py, 049c_arrival.py

ch49 found the compass's real sensory door β€” MeTuβ†’TuBuβ†’ER, 15,267 synapses, 23Γ— wider than the motion route β€” and argued the ring was "missing its landmark, not its regulator." That was a prediction with an address, so it got knocked on. Four landmark commands were built by clustering TuBu cells by the compass angle their own ER targets serve (51.8Β°, 147.1Β°, 197.8Β°, 326.6Β°, vector strengths 0.78–0.95), driven through the real synapses, scored with ch44's metrics over four seeds. The bump did not care. It settled at 260.8Β°, 255.5Β°, 233.0Β°, 225.1Β° β€” spread R 0.966, statistically the same place β€” and the same place a shuffled map (0.979), a charge-matched random ER subset (251.2Β°) and no command at all (246.0Β°) put it. My own prediction, tested properly, was wrong.

1 Β· And the command was not lost in the plumbing. The obvious escape is that the drive never arrived, so 049c measured arrival per wedge against a no-command baseline (EPG 95.2 Hz, ER 17.3 Hz):
landmark (serves)TuBu drivenits ER targetsEPG Ξ” (max per wedge)Ξ” aimed at
L0 (51.8Β°)0 β†’ 8.6 Hz9.1 β†’ 10.4 Hz (Γ—1.14)|86.8| Hz271.1Β°
L1 (147.1Β°)0 β†’ 71.9 Hz10.3 β†’ 34.9 Hz (Γ—3.4)|175.0| Hz89.6Β°
L2 (197.8Β°)0 β†’ 132.0 Hz7.2 β†’ 67.5 Hz (Γ—9.4)|280.4| Hz88.6Β°
L3 (326.6Β°)0 β†’ 23.7 Hz16.0 β†’ 26.8 Hz (Γ—1.7)|137.0| Hz120.7Β°
The signal arrives with real authority β€” individual wedges swing by up to 280 Hz, and ER firing rises up to 9.4Γ—. So this is not a failure of drive. The landmark reaches EPG, rearranges how hard each wedge fires, and cannot move where the bump is. Sensory input in this model sets the bump's amplitude and shape, not its angle.

2 Β· Where the arriving signal points, and why that is only suggestive. Since ERβ†’EPG is inhibitory, a landmark serving angle ΞΈ should push activity toward ΞΈ+180. Two of four do roughly that (L0: aim 271Β° vs anti-phase 232Β°, error 39Β°; L3: aim 121Β° vs 147Β°, error 26Β°); the other two do not (L1 58Β°, L2 109Β° from their served angle). Aim strengths are low throughout (0.19–0.49). With four groups and that much scatter this is a hint, not a result, and it is filed as one.

3 Β· One confound, stated rather than buried. Total injected charge was matched across landmarks, but the groups differ in size (64, 37, 12, 35 cells), so per-cell drive varied ~15Γ— β€” visible directly in the TuBu rates (8.6 Hz for the 64-cell group, 132 Hz for the 12-cell group). This does not rescue the negative, because the strongest-driven group (L2, ER Γ—9.4) is not the one whose bump moved furthest, and the weakest (L0) is not the closest to baseline. But an amplitude-matched rerun is owed before anyone builds on the anti-phase hint.

4 Β· The verdict this forces, across eleven experiments. The ring has now refused three structurally different classes of command: internal additive (ch43, PEN drive), internal subtractive (ch44, unilateral suppression), and now sensory, through the widest door the connectome offers, with the map intact and the signal demonstrably arriving. Its own recurrence meanwhile runs at the refractory ceiling (ER 26,207 + PEN 9,267 + EPG 2,279 + Delta7 873 synapses). Every condition parks the bump near 245Β° β€” including no command at all, which means that angle is a property of the wiring's asymmetry plus this model's regime, not of anything being asked of it. ch49's "missing its landmark" is refuted by ch49's own address. What is missing is not a wire and not a stimulus; it is a setting β€” the neuromodulatory or plastic state that decides how much ER inhibition is worth β€” exactly the class of thing a wiring diagram cannot store, which is ch44's verdict arriving a second time by an independent route.

This is the most useful failure in the book. A prediction was made in ch49 with a named pathway, a synapse count and a direction; ch49b tested it and it died; ch49c then ruled out the comfortable explanation by showing the command lands with 280 Hz of authority. What remains is not a shrug but a sharp, falsifiable claim: in snapshot 783's ring, heading is not an input-addressable variable. Anyone who can move this bump has found the setting the connectome does not contain β€” and now knows exactly which wire to attach it to.

Chapter 51 Β· Synthesis IIIWhat a wiring diagram is for β€” Volume II, told

Chapters 030–050 Β· 37 experiment files Β· experiments/030…049c

Volume II walked into the half of the brain Volume I barely touched β€” the optic lobes, 55% of every neuron in the head β€” then into the compass that steers on what they see, and then tried to join the two. It ends with an asymmetry too sharp to be an accident: the connectome told us, from structure alone and to within 3.3Β°, what its motion detectors would compute β€” and could not tell us, under three different classes of command, where its own compass is pointing. Those two results are not in tension. Together they say what a wiring diagram is for.

Thesis 1 Β· Structure can predict function, quantitatively, before any dynamics run. ch46 embedded the medulla's connectivity with no coordinates, no eye map, no anatomy beyond the synapse table, and recovered a retinal lattice in which the four T4 subtypes formed two axes crossing at 86.5Β° with opposed pairs. ch47 then drove that circuit with a grating and read the axes out of spikes: 89.8Β°, with the delay and the column offset each proven necessary by removal (zero lag β†’ 33.7Β°, shuffled slow arm β†’ 37.2Β°). A structural claim made with no dynamics, paid out by dynamics that never saw the claim. This is ch26's rehearsal prediction again, in a different modality: the connectome testifies beyond its own borders.

Thesis 2 Β· And structure has a ceiling, in the same file, measured just as carefully. The ring attractor holds a bump beautifully (ch37: coherence 0.98) and refuses to be steered. Internal additive drive (ch43), internal subtractive drive (ch44), and finally a sensory command through the widest door the connectome offers β€” TuBuβ†’ER, 15,267 synapses, with the ERβ†’EPG map intact and arrival proven at up to 280 Hz per wedge (ch50) β€” all leave the bump at β‰ˆ245Β°, the same angle it adopts with no command at all. So Volume II's two halves are one honest claim: a wiring diagram fixes what CAN be computed and never what IS being computed. Motion direction is in the wiring because geometry is in the wiring. Heading is not, because heading is a state, and states live in settings the diagram cannot store β€” gains, neuromodulators, plasticity. ch44 reached that verdict from an excitation budget; ch50 reached it from a sensory pathway; neither knew about the other's route.

Thesis 3 Β· Economics is intensive; efficiency cliffs are not. ch27 found olfactory decisions energetically invisible (opposite outcomes, same bill within 2%). ch48 measured the same thing in a circuit sharing none of those cells and found 3% β€” against a blank matched in mean rate, so the comparison is the price of seeing something, not of having eyes. That transfers. ch28's 300Γ— efficiency cliff does not: vision's gradient is 3Γ—, because 657,671 of its ~700,000 spikes are input drive that no gain dial touches. Hence the volume's cleanest exportable prediction: cliffs live where cost is endogenous. A recurrent circuit that ignites can be tuned to near-free; a feedforward front end has no cliff to fall off. That is a statement about brains in general, extracted by running one accounting method twice in two places.

Thesis 4 Β· The method is the result β€” and here is its bill. Volume II's 21 chapters contain, deliberately preserved: a retraction (ch34 β€” CT1's ON/OFF sign flip was a per-edge neurotransmitter bug of mine, found by my own audit, forcing ch35's re-measurement and ch36's blast-radius check), a chapter-level prediction refuted by its own successor (ch49 named the wire and declared the ring "missing its landmark"; ch50 knocked on exactly that wire and killed it), a stimulus 30Γ— too coarse caught by comparing grating period to column spacing (ch47), a control built on a wrong prediction (the sign-flip arm, which textbook Hassenstein-Reichardt/Barlow-Levick theory says should not have collapsed), a positively biased estimator thrown away mid-chapter (argmax DSI), and several results that simply said no. Volume I's scorecard counted 6 honest negatives and 1 retraction. Volume II adds more of both, and that is the point: a model that cannot embarrass itself is not doing science, it is doing decoration.

Two volumes, one 57 MB download, one Mac mini. Volume I read smell, memory, dynamics and energy; Volume II read sight, navigation and the seam between them. The recurring thesis survived both β€” every working regime is actively maintained, never free β€” and gained a sharper edge: what the connectome can be asked, and what it must be told. Ask it what a circuit is able to compute and it answers to within a few degrees. Ask it what the animal is currently doing and it is silent, not because the data are incomplete but because that is not the kind of fact a map contains.

What Volume II leaves open, stated plainly so nobody mistakes silence for absence: the amplitude-matched landmark rerun (ch50's per-cell drive varied ~15Γ— across groups); the descending and motor continent (ch11 only sketched it β€” a fly that sees a bar and actually turns needs the DN population mapped properly); a systematic lesion atlas instead of the targeted lesions of ch2/ch32; and the settings themselves β€” if heading is not input-addressable, the honest next project is not another stimulus but a search over gain and plasticity regimes for one in which it becomes addressable. Anyone who finds it has found what the wiring diagram does not contain, and ch50 says exactly which wire to attach it to.

Volume III Β· the motor continent

Two volumes in, we have read a brain's input side twice: an olfactory continent that learns, and an eye that computes direction with nothing but wiring. Both times the story stopped at the same place β€” somewhere inside, where a decision presumably becomes a movement. Volume III walks to the exit. There are exactly 1,305 descending neurons in snapshot 783: every command this brain can send to the body has to squeeze through one of them. That is 0.94% of the brain, and it is the whole bandwidth of behaviour.

Chapter 52The 1,305-wire cable: who actually talks to the exit

Anatomy only, no simulation Β· experiments/052_dn_census.py, 052_report.py

We began where every previous volume began β€” by asking the wiring which door is wide, before knocking on one (ch49's lesson, learned the hard way). So: take all 1,305 descending neurons, slice their input columns out of the signed 139,255Β² matrix, and bin every one of their 1,781,009 input synapses by the continent the presynaptic cell belongs to.

source continentsynapses onto DNsshare of all DN input
central (unnamed brain interneurons)1,189,43966.78%
descending (DN β†’ DN)202,77011.39%
ascending (from the nerve cord, back up)178,04310.00%
visual projection (LC, LPLC, DNOVS-feeders)123,7236.95%
mechanosensory50,8852.86%
visual centrifugal8,8580.50%
olfactory (ALPN/LHLN/AL local)10,2680.58%
central complex (the compass, ch37–50)4,9620.28%
mushroom body (KC/MBON/DAN)2,6850.15%
gustatory2,6820.15%
optic lobe intrinsic1,2740.07%

Three facts in that table are worth the whole chapter. First: the senses barely touch the exit. Everything sensory added together β€” vision, touch, smell, taste, the optic lobe's 77,873 intrinsic cells β€” is 11% of DN input, and 96% of that is the two coarse channels (visual projection and mechanosensory). The continents we spent two volumes inside speak to the body at 0.58% (smell) and 0.15% (taste).

Second: the compass is not a driver. After eleven experiments trying to steer the ring (ch37–50) we can now say what it is wired to do downstream: 2,878 CX cells contribute 4,962 synapses to the entire descending population β€” 0.28%, less than mechanosensation by a factor of ten. Whatever heading is for, it does not reach the legs by shouting at DNs directly. That reframes Volume II's negative result: we were pushing on a variable that has no direct line to the output either.

Third: the exit talks to itself, and listens to the body. DN→DN coupling (11.4%) is larger than all visual input, and ascending neurons from the nerve cord supply another 10.0% — the descending population is not a set of 1,305 independent buttons but a recurrent layer with proprioceptive feedback folded in. The "command neuron" picture survives only as a special case.

Convergence is steeply skewed, but not to a handful of kings: the top 10 DNs hold 6.5% of DN input, the top 50 hold 24.8%, the top 130 (10% of the population) hold 46.8%, and the bottom half of all DNs shares 6.8% between them. Multimodality is the norm rather than the exception β€” binning at β‰₯5% of a DN's own input, 703 DNs draw on two continents, 281 on three, 10 on four, and only 262 are single-source.

The census also gave us the volume's address book. The biggest DN in the brain by input mass is a named one β€” DNa03 (13,032 synapses, 84% from central cells), followed by DNa02 (12,362) β€” both from the DNa turning family, both essentially blind (2–3% visual) and fed almost entirely by the brain's interior. The most visual DNs are the DNp family (up to 76% visual projection, including DNp03 at 52% and DNp04 at 67%), the most mechanosensory are DNg cells (up to 65%), and we located the two cells this volume most wanted: the giant fiber, left (matrix index 57,521, 3,504 input synapses, 222 partners, 18% visual) and right (109,258, 4,517 synapses, 275 partners, 20% visual). 46 named DNs β€” MDN, P9, DNa01–09, DNp01–10, DNg13/16, GF β€” are now in experiments/052_named_dns.csv with their matrix indices, ready to be driven and ready to be lesioned.

One methodological note, filed because this book prices its own mistakes: the first pass of this chapter printed root IDs that did not exist. DataFrame.iterrows() collapses each row to a single dtype, so int64 cell IDs came out as float64 and silently lost their last digits β€” 720575940620918789 (DNa03) became …918784 (nothing). Every ID in this volume is read with .at or itertuples for that reason. A wiring diagram indexed by 18-digit integers punishes float arithmetic without ever raising an error.

Next: the giant fiber's own input tree. It sits behind 222–275 partners with a fifth of its drive visual β€” ch53 asks whether the textbook looming pathway (LC4 and LPLC2) is the visible fifth, and whether the connectome alone predicts an escape threshold.

Chapter 53The escape neuron is held down β€” and a sign convention we have been getting wrong for 52 chapters

Anatomy only, no simulation Β· experiments/053_gf_tree.py, 053c_ntaudit.py

The giant fiber is the most famous single neuron in the fly: one cell per side, a looming stimulus, and the animal is airborne in ~5 ms. Ch52 located both copies, so ch53 opened their input trees. What came out was two chapters' worth β€” one about escape, and one about our own arithmetic.

GF left (idx 57,521)GF right (idx 109,258)
input synapses / partners3,504 / 2224,517 / 275
excitatory : inhibitory35% : 65%38% : 62%
unnamed central interneurons74.2%66.2%
visual projection (LC/LPLC)18.1%20.4%
other descending neurons6.5%8.4%

The escape command neuron's largest single input category is inhibition. Roughly two thirds of everything arriving at the giant fiber pushes it away from threshold, and the heaviest individual partners are unnamed inhibitory central cells (130, 137, 124, 119 synapses each) plus β€” a detail we did not expect β€” the other giant fiber and its co-DNs: 274 synapses of GFβ†’GF_L input, net βˆ’260, i.e. the two escape neurons and their neighbours mutually suppress. A cell that must not fire by accident is wired as something held shut, not something waiting to be pushed. That is the connectome's version of the known high GF threshold, and it is visible without a single simulated spike.

The looming pathway is there, and it is a fifth of the door: LC4 (21 labelled cells, 177 synapses) and LPLC2 (37 left / 60 right, 305 / 506–518 synapses) together supply 22–28% of the giant fiber's total excitation, exactly the two types the escape literature names. Snapshot 783's labels are asymmetric β€” LC4 is annotated on the left only, and 417 of the right GF's visual synapses come from visual-projection cells with no type string β€” so the counts are a floor, not a census.

The audit: our matrix is signed per synapse, not per neuron

Then the anomaly. Read literally, the looming pathway is inhibitory: LPLC2β†’GF_R came out at net βˆ’212 and LC4β†’GF_L at net βˆ’51. Both types are cholinergic and both are excitatory onto the giant fiber in every recording ever made. So we went to look at our own build.

scripts/build_matrix.py signs each connection row by that row's predicted transmitter (connections.csv.gz carries an nt prediction per pre–post–neuropil row), then sums. FlyWire's per-synapse predictions are noisy and disagree with the cell's own transmitter call often enough to matter:

quantityvalue
connection rows whose edge-nt disagrees with the presynaptic cell's nt232,450 of 3,869,878 (6.01%)
synapse mass carrying a disagreeing sign1,886,974 of 34,153,566 (5.52%)
presynaptic cells that end up with both signs39,703 of 129,351 (30.7%), median 23% of their mass flipped
largest single leakGLUT-labelled rows on ACH cells: 245,650 synapses

Dale's principle says a neuron releases one transmitter; our matrix let 30.7% of neurons be part excitatory and part inhibitory, because we inherited a per-row prediction instead of collapsing it to the cell. We rebuilt the matrix under the per-neuron convention (data/brain_cellnt.npz, 2,700,513 edges, 1,742,094 excitatory / 958,419 inhibitory) and the difference at the giant fiber is exactly where it hurts:

GF inputper-edge (used in ch1–52)per-neuron (Dale)
GF left, excitatory share / net35.0% / βˆ’105046.0% / βˆ’300
GF right, excitatory share / net37.9% / βˆ’109350.8% / +77
LC4 β†’ GF leftnet βˆ’51net +177
LPLC2 β†’ GF leftnet +49net +305
LPLC2 β†’ GF rightnet βˆ’212net +518

So the sign of the fly's best-known sensorimotor pathway is a build decision, and we had it backwards. Note what this is not: it is not a claim that Volumes I and II are wrong. The disagreeing mass is 5.5% and it is scattered; every result that survived a degree-preserving shuffle survived because of structure, not sign, and ch46's retinal axes were derived from co-innervation with signs used only to separate the fast and slow arms by type. But two results in this book rest directly on signed sums β€” ch3's sugarβ†’MN9 feeding command and ch18–26's KCβ†’MBON depression β€” and they are owed a re-run. That is the next chapter, and it is the discipline the book has kept since ch34's self-found CT1 bug: when the convention changes, you re-pay the results that were bought with it.

Two findings, then. Biologically: the giant fiber is a cell wired to be held down β€” two thirds inhibition, mutual suppression between the escape neurons, with the looming channel worth a fifth of the door and about a quarter of all excitation. Methodologically: a connectome's sign column is a modelling choice masquerading as data, and per-synapse transmitter predictions violate Dale's principle for 30.7% of the brain's cells if you let them.

Next: ch54 re-pays the bill. Both keystone signed results — sugar→MN9 (ch3) and the looming→escape drive this chapter just re-signed — run under brain_cellnt.npz, and if the escape command now fires when LC4/LPLC2 do, Volume III has its first working sensory→motor transform.

Chapter 54The bill, re-paid β€” and a fly that escapes, but only below ignition

experiments/054_sign_repay.py, 054b_loom_gf.py Β· LIF, Shiu et al. params, gain swept

Ch53 changed a convention, so ch54 re-buys the results that were paid for with the old one, and then tries to cash the new one in. Two questions: does sugar β†’ MN9 (ch3, the book's first result) survive Dale's principle, and does looming β†’ giant fiber work now that LC4 and LPLC2 are excitatory?

1. The keystone survives, and gets louder

sugar GRN drive, 0.5 s, paper gainper-edge (ch1–52)per-neuron (Dale)
MN9 feeding motor neuron (L / R)92 / 60 Hz386 / 308 Hz
total brain spikes2,584,2414,592,296 (+78%)
giant fiber2 / 0 Hz2 / 0 Hz

Proboscis extension survives the sign change and gets 4Γ— stronger β€” ch3's result was carried by structure, not by our arithmetic. But look at the second row: collapsing 5.5% of synapse mass onto Dale-consistent signs raised total activity by 78%, because the per-edge noise was silently cancelling excitation inside individual cells. The model's effective gain moved. Everything Volume I said about the position of the ignition edge (ch4, ch28) is therefore stated in units of a matrix that no longer exists, and should be read as a shape, not a coordinate β€” the 300Γ— efficiency cliff is a claim about a cliff existing, not about it living at gain 0.125.

And in both conventions, at paper gain, the giant fiber is silent (2 Hz) inside a brain emitting four million spikes. The cell ch53 described as wired shut is exactly that, even in a firestorm.

2. Looming β†’ escape: it works, and only in a window

Drive all 259 LC4 + LPLC2 cells at 200 Hz and read the giant fiber, sweeping the synaptic gain because at paper gain the network ignites (ch28/ch48's lesson: a transform can only be measured below ignition). GF firing rates, left / right, in Hz:

gainper-edge: LOOMper-neuron: LOOMper-neuron: random 259 VPNtotal spikes (per-neuron)
0.060 / 0175 / 2450 / 023,130
0.100 / 180350 / 4137.5 / 027,672
0.150 / 265423 / 44310 / 7.595,838
0.250 / 33270 / 3632.5 / 7.5833,451
1.00 (paper)2.5 / 2.520 / 17.50 / 2.53,876,806

Volume III has its first working sensoryβ†’motor transform: a looming stimulus, delivered to the two cell types the escape literature names, fires both giant fibers at 175–443 Hz while 259 randomly chosen visual projection neurons driven identically fire them at 0–10 Hz β€” a 40Γ— specificity margin, with no-drive at exactly 0. The transform is bilateral and symmetric (175/245, 350/413, 423/443).

The escape command has a ceiling as well as a floor. GF output rises to a peak at gain 0.15 and then falls β€” 443 β†’ 363 β†’ 17.5 Hz β€” as the surrounding brain ignites and the two thirds of GF input that is inhibitory arrives in force. At paper gain the looming stimulus produces 20 Hz in a cell that was doing 443 Hz at one seventh the coupling. So the window in which this fly can escape is bounded on both sides: too little gain and the command never reaches threshold, too much and the network's own inhibition buries it. Ch53's anatomy predicted a cell held shut; the dynamics show what holds it shut, and that it is the network, not a dedicated gate.

The per-edge column is the chapter's second argument for ch53's audit: under the old convention the escape response is unilateral β€” the right giant fiber fires, the left never does, at any gain. A sign convention decided which side of the animal could escape. No biology says that; a build script did.

One control failed by construction and is reported as such. We ran a degree-preserving shuffle that permutes which LC4/LPLC2 cell supplies which synapse onto GF β€” it changed nothing (170/257 vs 175/245 at gain 0.06). It could not have: every cell in the driven set gets identical Poisson drive, so permuting among them preserves the drive exactly. It is a null shuffle, not a test, and the specificity claim rests entirely on the mass-matched random-VPN control, which is the one that bites.

Next: the threshold itself. If 259 looming cells give 443 Hz, how few will do? Ch55 sweeps the recruited fraction to read an escape threshold off the wiring β€” the number of looming detectors the connectome needs before the fly jumps.

Chapter 55How many eyes it takes to jump: an escape threshold read off the wiring

experiments/055_escape_threshold.py Β· per-neuron matrix Β· 3 seeds, 0.3 s, GF averaged over both sides

A real looming stimulus does not switch on all 259 looming detectors at once β€” it recruits more of them as the predator's image grows. So the escape threshold is a recruitment question, and it is one the connectome can be asked directly: drive k randomly chosen LC4/LPLC2 cells and see when the giant fiber goes off.

cells recruitedGF at gain 0.06GF at gain 0.10GF at gain 0.15random-VPN control (0.10)
2 – 80 Hz0 Hz0–3 Hz0 Hz
1603.318.30
32013.949.40
6410.088.3136.70.6
12899.4234.4290.00.6
259 (all)210.6386.1437.817.2

The curve has a floor, a knee and a ceiling. Fewer than about 30 looming cells cannot fire the giant fiber at all β€” not weakly, exactly zero, at three gains and three seeds. Then it climbs steeply, and the half-maximum sits at 135 cells at gain 0.06, 110 at 0.10, 98 at 0.15 β€” which is the number worth keeping: 50%, 39%, 37% of the population. Across a 2.5Γ— change in synaptic coupling, the fraction of looming detectors needed for a half-strength escape command barely moves. The threshold is a property of the wiring, expressed as a fraction of a cell type, not of the gain we chose.

That is the chapter's claim in one line: this connectome jumps when roughly a hundred of its two hundred and fifty-nine looming detectors agree, and it ignores anything fewer than thirty. A cell held shut by two thirds inhibition (ch53) needs a quorum, and the quorum is measurable.

The two detector types are not interchangeable

driven setcellsGF left / right, gain 0.10gain 0.15
LC4 only5193.3 / 16.7 Hz193.3 / 156.7 Hz
LPLC2 only208246.7 / 370.0 Hz340.0 / 413.3 Hz
both259350.0 / 416.7 Hz430.0 / 440.0 Hz

LPLC2 alone nearly is the escape pathway. 208 cells reproduce 70–90% of the full bilateral response; adding LC4's 51 brings only the last increment. Per cell the two are closer than the totals suggest (1.5 vs 1.1 Hz of GF output per driven cell at gain 0.10), so this is mostly a numbers game β€” but note the caveat ch53 already flagged: snapshot 783 labels LC4 asymmetrically, and the LC4-only response is correspondingly lopsided (93 left vs 17 right). The lopsidedness is in the annotation, not necessarily in the fly, and we say so rather than dress it as a finding.

An accident worth reporting: the escape recruits the whole brain, at one gain only

Watch total brain activity as recruitment grows. At gain 0.10 it rises smoothly β€” 2,219 β†’ 5,038 β†’ 11,074 β†’ 20,728 spikes β€” the escape is a local computation in a quiet brain. At gain 0.15 the same step from 32 to 64 recruited cells takes the brain from 3,044 to 28,915 spikes, a 9.5Γ— jump: the escape command and a global ignition arrive together. The same stimulus is either a private circuit event or a brain-wide one depending on a coupling parameter, with no change in the wiring or the stimulus. Volume I's ignition edge (ch4) and this volume's escape threshold are not independent knobs β€” at gain 0.15 they are the same event.

Three chapters into the motor continent we have a working transform with a floor (30 cells), a quorum (~100 cells = 38% of the type), a ceiling (network inhibition above gain 0.15, ch54), and a specificity margin of 20–40Γ— against identically driven random visual neurons. That is enough machinery to start breaking things on purpose.

Next: the descending fingerprint. Ch56 drives sugar, looming and bitter in turn and asks which of the 1,305 descending neurons each program actually recruits β€” how much of the exit does one stimulus claim, and do two different stimuli claim different halves? That map is what the lesion atlas will be scored against.

Chapter 56Five programs, one exit, no shared core β€” and smell is the only amplifier

experiments/056_dn_fingerprint.py, 056b_size_matched.py Β· gain 0.10 (below ignition), 0.4 s, a DN counts as recruited above 5 Hz

Ch52 said the exit is 1,305 wires wide. Ch54–55 drove one program through it. Now the obvious question: when the brain does something different, does it use different wires? Five programs β€” sugar, bitter, looming, mechanosensory, olfactory β€” each driven alone, each read out as which descending neurons fire.

programcells drivenDNs β‰₯5 Hzmotor neurons β‰₯5 Hzgiant fiberbrain spikes
sugar234 (0.3%)30 Hz2,479
bitter381 (0.1%)00 Hz3,193
looming29243 (3.3%)0363 / 428 Hz29,688
mechanosensory2,674236 (18.1%)370 Hz233,292
olfactory2,281125 (9.6%)10 Hz489,334

The named DNs each program recruits read like the literature's index. Looming pulls the giant fiber plus DNp03, DNp04, DNg13 β€” the escape set. Mechanosensation pulls MDN (backward walking), P9 (turning) and the whole DNa01/02/03/06/09 walking family, and drives 37 of the 110 motor neurons including MN9 at 95/65 Hz. Olfaction pulls MDN, P9, DNa01–03 and DNp07/09/10. Nobody told the model which cells those were; it was handed a wiring diagram and a stimulus.

The overlap is the finding: there is no shared core

Pairwise Jaccard between the recruited DN sets runs from 0.000 to 0.161, and the set of descending neurons recruited by all five programs is empty. Sugar and bitter share nothing. Sugar and looming share nothing. Looming and mechanosensation share 6 DNs out of 43 and 236. The heaviest overlap in the whole matrix is mechano↔olfactory at J=0.161 β€” two programs that both end in walking.

So the exit is not a bus that every decision shouts down. Five programs address near-disjoint sets of it, which is the labelled-line picture that Volume I found at the input (glomeruli) reappearing at the output, and it is a precondition for the lesion atlas: if the programs were sharing wires, no lesion could break one without breaking all.

The control that changed the story

Those recruitment counts had an obvious confound β€” the programs differ 100-fold in how many cells we drive (23 vs 2,674) β€” and the ordering tracked size exactly. So we re-ran everything at matched cell counts, three independent subsamples each:

programDNs at n=23DNs at n=259brain spikes at n=23GF max
sugar4.0 (0.3%)β€”2,4960 Hz
bitter0.0β€”1,8670 Hz
looming6.0 (0.5%)39.7 (3.0%)2,07517.5 β†’ 415 Hz
mechanosensory3.0 (0.2%)27.3 (2.1%)1,7730 Hz
olfactory118.7 (9.1%)118.0 (9.0%)223,9840 Hz

Two things fall out, and one of them corrects the chapter's own first table. Mechanosensation's 18% was drive size: matched to 259 cells it recruits 27 DNs, not 236 β€” an eighth. The uncontrolled table would have been reported as "touch commands the exit most widely", and that would have been an artifact of how many receptors we happened to switch on.

Olfaction is the exception, and it is spectacular. Twenty-three olfactory receptor neurons β€” the same number as the entire sugar program β€” recruit 118 descending neurons (9.1%) and set off 224,000 brain spikes, while 23 mechanosensory cells manage 3 DNs and 1,773 spikes, and 23 sugar cells 4 DNs and 2,496. Going from 23 ORNs to all 2,281 changes the DN count by five (118.7 β†’ 125). Smell saturates its access to the exit at roughly one percent of its receptor population.

That is the same asymmetry ch27/ch48 found in the energy budget, arriving from a completely different direction: the olfactory continent is recurrent and self-amplifying, so a handful of receptors is enough to reach the whole output layer, while vision and touch are feedforward and pay for reach in receptors. Cost was endogenous in one and exogenous in the other; access is now the same story. Two independent measurements, one architecture.

And a specificity result for free, worth stating on its own: the giant fiber fires only for looming. It sits at 0 Hz inside an olfactory firestorm of 272,000 spikes and through mechanosensory drive that fires 37 motor neurons, then goes to 415 Hz for 259 LC4/LPLC2 cells that produce a tenth as much brain activity. Ch53 called it a cell wired shut; three chapters of dynamics have not managed to open it by accident.

Next, the volume's capstone begins: the lesion atlas. We now have three transforms with numbers on them (looming→GF at 363/428 Hz, sugar→MN9, mechano→37 motor neurons) and proof they run on disjoint wires. Ch57 starts removing the hubs Volumes I and II named — CT1, APL, the central complex, the ascending feedback — and prices each removal in transforms broken.

Chapter 57The lesion atlas: the mushroom body is optional, and the brake is twenty cells

experiments/057_lesion_atlas.py Β· lesion = every row and column zeroed (silent and deaf) Β· gain 0.10, 0.4 s Β· 057_atlas.csv

Volume III's capstone starts here. We have transforms with numbers on them, so a hub can finally be priced the way a neuroscientist prices it: take it out and see what stops working. Nine lesions, three transforms β€” loomingβ†’giant fiber (ch54–55), sugarβ†’MN9 (ch3/ch54), mechanosensoryβ†’motor neurons (ch56).

lesioncells removedlooming β†’ GFlooming β†’ DNs recruitedmechano β†’ motor neurons
intact (3 seeds)0392.9 Hz42.337.3
CT1 (Vol II's giant amacrine)7390.04237
APL (Vol I's sparsity enforcer)6390.04237
central complex (the compass)2,878390.04237
all Kenyon cells (the mushroom body)5,177390.04237
all MBONs (the memory readout)96390.04237
all ascending neurons (the body's report)1,750390.04233
LPLC2 (the looming line itself)24051.21937
GF's top-20 inhibitors (ch53's lock)20450.05334

1. The famous structures are optional for these transforms

Delete 5,177 Kenyon cells β€” the entire mushroom body, the structure Volume I spent eleven chapters inside, 3.7% of the brain β€” and the escape response is 390.0 Hz instead of 390.0 Hz. Not "within noise": identical to the digit, on the same seed, because the lesion removed nothing the computation used. The same is true of the central complex (2,878 cells, Volume II's ring attractor), of all 96 MBONs, of CT1 and of APL. Six lesions, 8,184 cells, zero measurable effect on two of three transforms.

This is what ch56's empty intersection meant, made physical. A brain whose programs run on disjoint lines can lose its most celebrated structure and still escape a looming predator and still move 37 motor neurons when touched. The mushroom body is where this fly learns; it is not where this fly acts. Volume I's memory results and this volume's motor results are about the same connectome and share almost no cells.

One exception, small and real: removing all 1,750 ascending neurons β€” the body's report to the brain β€” costs mechanosensory motor recruitment 4 of 37 motor neurons (11%). The only structure whose removal costs anything here is the one carrying information from the body, not from the brain's own centres.

2. Only the labelled line matters

Remove LPLC2 β€” 240 cells, 0.17% of the brain, the type ch55 showed is nearly the whole looming pathway β€” and escape collapses from 393 Hz to 51 Hz, an 87% loss, with the recruited descending set halved (42 β†’ 19). Touch is untouched (37 motor neurons, unchanged). The atlas's shape is therefore brutally simple: each transform is fragile only to its own line and indifferent to everything else.

3. The brake is twenty cells β€” 0.014% of the brain

The most striking row is the cheapest lesion. Ch53 found the giant fiber held shut by two thirds inhibition; we took its twenty heaviest inhibitory partners out and escape got stronger: 450 Hz (from 393, and 455 Hz is the refractory ceiling β€” the cell is now saturated), with recruitment broadening from 42 to 53 descending neurons. Twenty cells, one seventy-thousandth of the brain, are the difference between a guarded escape command and a saturated one.

Which is exactly the shape of a safety mechanism: enormous consequence per cell, invisible until removed. And it makes a testable claim that the ch55 sweep can settle β€” if those 20 cells are the lock, deleting them should not merely raise the ceiling but lower the quorum: fewer than a hundred looming detectors should suffice. That is the next chapter, and it is a real risk, because 393 Hz is already close to saturation and this +15% could be nothing but headroom.

A note on what this atlas does not say. The lesions were single-seed against a 3-seed baseline, the sugar→MN9 column is uninformative here (0.4 Hz — ch54 showed the feeding command needs the ignited regime, so it needs its own pass at paper gain), and "no effect on these three transforms" is not "no function": the mushroom body's job is learning, which this atlas never asks it to do. What the atlas rules out is that these celebrated hubs are on the path from a looming stimulus to an escape command. They are not. The path is 240 visual cells, two giant fibers, and twenty cells holding the trigger.

Ch58: rerun ch55's recruitment sweep with the twenty inhibitors gone, and price the lock in quorum rather than in headroom — plus the sugar→MN9 lesion pass at paper gain that this chapter owes.

Chapter 58What twenty cells actually buy β€” and a measurement that failed

experiments/058_lock_price.py Β· part 1: recruitment sweep Β±the lock, gain 0.10, 3 seeds Β· part 2: feeding lesion screen at paper gain, and why it is uninterpretable

Ch57 pulled the giant fiber's twenty heaviest inhibitory partners and escape went from 393 to 450 Hz. We refused to call that a result, because 455 Hz is the refractory ceiling and headroom is not sensitivity. The honest test is ch55's quorum: does a disinhibited brain need fewer looming detectors?

looming cells recruitedintact GFminus the 20 inhibitorsratio
40.0 Hz0.0 Hzβ€”
80.00.0β€”
163.95.61.4Γ—
3225.042.21.7Γ—
6485.0163.91.9Γ—
128224.4343.31.5Γ—
259368.9447.21.2Γ—

It does. Read at a fixed command-level criterion instead of at half-max, the quorum drops by a third:

criterionintactdisinhibitedchange
50 Hz45 cells34 cellsβˆ’25%
100 Hz71 cells47 cellsβˆ’33%
200 Hz117 cells77 cellsβˆ’34%

Twenty cells buy a third of the fly's escape threshold. Delete 0.014% of the brain and the animal jumps on two thirds of the evidence it used to require β€” the definition of a hair trigger, and the reason such a brake is worth maintaining at all.

But the floor does not move. Eight looming cells fire the giant fiber at exactly 0 Hz with and without the lock, and 16 cells barely differ (3.9 vs 5.6 Hz). So the two limits ch55 found have different owners: the hard floor belongs to excitatory convergence β€” too few detectors simply do not deliver enough charge, and no amount of disinhibition invents it β€” while the brake sets sensitivity above the floor, nearly doubling the response exactly in the middle of the recruitment range (1.9Γ— at 64 cells) and shrinking to 1.2Γ— at saturation. Inhibition here is a gain control on an existing threshold, not the threshold itself. That distinction is invisible in a single-stimulus experiment and only appears when you sweep the stimulus.

Part 2: the measurement that failed, reported as such

Ch57 owed a feeding-lesion pass at paper gain, since sugarβ†’MN9 only works in the ignited regime. We ran it β€” nine lesions, MN9 as readout β€” and the numbers looked exciting: MBONs removed dropped MN9 to 280/147 Hz from 437/293, ascending neurons to 130/183. A 40–70% loss of the feeding command from removing memory-readout cells would be a headline.

It is not a result. Before writing it up we measured the intact brain's seed-to-seed variability at paper gain, five seeds:

seed12345mean Β± sd
MN9 left436.7443.3406.7200.0396.7376.7 Β± 90.1
MN9 right293.3443.3203.3153.3370.0292.7 Β± 105.9

The intact brain ranges from 200 to 443 Hz on the same stimulus with nothing removed. Every lesion effect in the screen β€” MBON, ascending, CT1, APL, the central complex, even the twenty inhibitors β€” sits inside that band. The screen measured Poisson seed, not anatomy, and we are deleting the conclusion rather than the data: 058_feeding_atlas.csv stays in the repo as a negative.

Two things survive it. The positive control works exactly as it should β€” removing all 408 gustatory receptor neurons takes MN9 to 0.0 / 0.0 Hz and the brain to 1,304 spikes, so the lesion machinery is sound and the feeding line is as labelled as the looming one. And the failure has a cause worth naming: in the ignited regime a single motor neuron's rate is a sample from a runaway avalanche, so its variance swamps anatomy. Below ignition, the same pipeline resolves a 20-cell lesion (ch57) and a 24-cell shift in quorum (above); above ignition it cannot resolve 5,177. Ch28 argued the subcritical regime is 300Γ— cheaper. It is also the only regime in which this model can be measured. Cheapness and observability turn out to be the same property.

The lock is priced: twenty cells, a third of the threshold, a gain control rather than a gate. And the atlas has learned its own limits β€” every future lesion claim in this volume is made below ignition, with seeds, or not at all.

Ch59 turns the atlas on the exit itself: lesion the descending layer instead of the sensory lines β€” the 11.4% DNβ†’DN recurrence of ch52, the ascending–descending loop, and the named command neurons (MDN, P9, DNa02) one family at a time β€” asking whether the output layer is a network that degrades gracefully or a set of independent wires that fail one at a time.

Chapter 59The exit is a network: 19% of the wiring carries 44% of the command

experiments/059_exit_lesions.py Β· below ignition (gain 0.10), 3 seeds, cells or edge blocks removed Β· 059_exit_atlas.csv

Ch57 lesioned the brain's centres and found them irrelevant to escape. This chapter turns the same knife on the output layer itself β€” including something a cell lesion cannot do: cut the descending neurons' connections to each other while leaving every cell alive.

lesionsizelooming β†’ GFlooming β†’ DNsmechano β†’ motor neurons
intactβ€”392.9 Β± 2.6 Hz42.337.3
DN→DN edges only (cells kept)10,188 edges220.0 ± 1.045.330.3
ascending→DN edges only10,527 edges392.9 ± 2.642.334.3
MDN (backward walking)8 cells392.9 Β± 2.642.335.7
P9 (turning)9 cells393.3 Β± 6.041.733.3
DNa02 (steering)3 cells392.9 Β± 2.642.334.3
DNp03/DNp04 (escape co-DNs)1 cell*392.1 Β± 1.640.337.3
random 20 DNs (control)20 cells392.9 Β± 2.642.336.0
random 240 DNs (control)240 cells383.8 Β± 3.139.728.7

*only one cell in snapshot 783 carries a DNp03/DNp04 label β€” the lesion is nominal, not the type.

Cutting no cells at all costs 44% of the escape command

Zero the 10,188 synaptic edges descending neurons make onto each other β€” remove nothing else, kill nothing β€” and the giant fiber falls from 393 Hz to 220 Hz. The control that makes this a result: deleting 240 whole descending neurons at random, twelve times more destruction by cell count, costs 2% (383.8 Hz). The escape command does not care which DNs exist; it cares that they talk to each other.

Now the anatomy, which we deliberately looked at only afterwards. Descending neurons supply the giant fiber 349 and 432 excitatory synapses (18–20% of its excitation) from 7–8 partners, and essentially zero inhibition. So a fifth of the wiring is carrying nearly half of the function. That gap is the signature of recurrence: those few DNβ†’GF synapses are not a static input, they are a loop β€” the looming line drives DNs, the DNs drive the giant fiber, the giant fiber and its co-active partners drive them back β€” so cutting the block removes both the feed-in and the reverberation it sustains. Counting synapses onto a cell underestimates what a connected layer does with them, by a factor of two here.

This is the exact mirror of ch53. There, anatomy alone said the giant fiber was wired shut, and dynamics confirmed it. Here, anatomy alone says the DN→DN block is a minor input, and dynamics say it is half the command. The connectome is honest about what connects; it is silent about what reverberates.

The exit layer amplifies its loudest voice at the cost of breadth

One number in the table looks like an error and is not: with the DN→DN block cut, the giant fiber loses 44% while the number of descending neurons above 5 Hz goes up, 42.3 → 45.3. The block is 66% excitatory by edge count (126,385 excitatory vs 80,095 inhibitory synapses), but it does not merely add gain — it redistributes. Intact, the layer concentrates activity into the command neuron and holds a few others down; cut, three more DNs cross threshold while the one that matters halves. Recurrence in this output layer buys amplitude in the right cell, paid for in breadth — a winner-take-more circuit, discovered by breaking it.

No single command family matters, and touch degrades gracefully

MDN, P9, DNa02 β€” the named command neurons for backward walking, turning and steering β€” each removed entirely, and escape does not move by more than seed noise. Nor should it: ch56 showed these programs run on disjoint lines. But the touch column tells a different, softer story. Every exit lesion costs mechanosensory motor recruitment a little: MDN βˆ’4%, DNa02 and ascendingβ†’DN βˆ’8%, P9 βˆ’11%, DNβ†’DN edges βˆ’19%, 240 random DNs βˆ’23%. Nothing is catastrophic and nothing is free. The escape command is a brittle labelled line β€” 87% gone when LPLC2 goes (ch57), 44% gone when the exit's recurrence goes, untouched by everything else. Touch is a graded population code that loses a few motor neurons for every insult and collapses for none.

Two architectures in one output layer, then: a sniper and a chorus. Volume III's atlas now prices lesions in three currencies β€” the labelled line (LPLC2, 87%), the brake (20 cells, a third of the threshold), and the recurrence (10,188 edges, 44% of the command) β€” and only the last of those is invisible to anatomy.

Ch60 closes the loop the volume was named for: with the escape transform mapped, quorum measured, brake priced and exit dissected, put it in time β€” how many milliseconds from the first looming spike to the giant fiber's first spike, how that latency changes with recruitment and with the brake removed, and whether this connectome's reaction time matches the fly's measured ~30 ms escape.

Chapter 60How fast it jumps: an urgency code, in milliseconds

experiments/060_latency.py Β· time from stimulus onset to the giant fiber's first spike Β· gain 0.10, 10 seeds per point (a first-passage time needs seeds)

Every chapter of this volume has measured escape in spikes per second. But an escape is not a rate β€” it is a deadline. So: from the first looming spike, how many milliseconds until the giant fiber fires?

looming cells recruitedfirst other DN firesfirst GF spiketrials that firedGF spikes in 150 ms
3210.20 ms27.76 ms (sd 19.0)10/104.5
645.9411.62 (sd 1.3)10/1028.7
1283.646.81 (sd 1.2)10/1067.6
259 (all)2.694.43 (sd 0.30)10/10108.3

The connectome codes urgency as latency. A weak looming stimulus β€” 32 detectors, an object still far away β€” takes 28 ms to reach the escape command and does so unreliably (sd 19 ms). A strong one, all 259 detectors, takes 4.4 ms, with a standard deviation of 300 microseconds. Same wiring, same cell, same threshold: a sixfold range of reaction time produced by nothing but how many detectors agree.

That is exactly the trade a fly needs and exactly what its behaviour shows β€” short-mode escapes for a fast approaching threat, longer deliberate takeoffs for a slow one β€” and nobody built it in. It falls out of a threshold sitting under a convergent excitatory pool: more sources, faster charge, earlier crossing.

The number lands where biology lives

Two anchors make the 4.4 ms meaningful. The model's own floor is 1.8 ms per synapse, so a two-hop path (LC/LPLC β†’ GF) cannot beat 3.6 ms β€” at full recruitment the escape command arrives within 0.8 ms of the anatomical minimum, i.e. this is a direct-path response with almost no integration time. And in the real animal, giant-fiber escapes are the fast ones: a GF spike is followed by takeoff in roughly 5 ms, with loom-to-takeoff latencies measured in tens of milliseconds for slower approaches. Our range, 4.4 to 28 ms, brackets that without a single parameter fitted to behaviour β€” the LIF constants are Shiu et al.'s, the wiring is FlyWire's, and the stimulus is 200 Hz Poisson on named cell types.

The intermediate hop confirms ch59's story in time as well as amplitude: other descending neurons fire before the giant fiber does, at every recruitment level (2.69 ms vs 4.43 at full drive; 10.2 vs 27.8 at n=32). The DN→DN recurrence that carried 44% of the command is not a late modulation — it is already running one hop ahead of the command it amplifies.

The brake costs nothing at speed, and everything at the margin

recruitedintact latencyminus the 20 inhibitorsintact sdlesioned sd
3227.76 ms21.34 ms19.05.5
6411.6211.511.31.1
1286.816.811.21.2
2594.434.430.300.30

Removing ch57's twenty-cell brake leaves the first-spike latency identical to two decimal places at 64 cells and above β€” and cuts it by 6 ms, with the trial-to-trial scatter falling from 19 ms to 5.5 ms, at 32. The mechanism is timing: inhibition needs its own hops, so it arrives after the first spike has already happened whenever the drive is strong. It cannot gate the onset of a strong escape; it can only sculpt what follows (sustained GF spikes double, 4.5 β†’ 10.4 and 28.7 β†’ 47.0). Near threshold, where the first crossing takes tens of milliseconds, the brake has time to act β€” and there it costs the animal 6 milliseconds and most of its reliability.

So the twenty cells are not a switch on the escape reflex. They are a margin tax: invisible when the evidence is overwhelming, decisive when it is thin. Ch58 showed they set sensitivity but not the floor; ch60 shows they set latency but not the speed limit. Both are the profile of a circuit that suppresses false alarms without ever slowing a true one β€” which is precisely the specification you would write for an escape system, recovered from a wiring diagram by deleting twenty cells and watching a clock.

Volume III's transform is now characterised end to end: a quorum (~100 of 259 detectors), a ceiling (network inhibition above gain 0.15), a brake (20 cells, a third of the threshold), a recurrent amplifier (10,188 edges, 44% of the command), a latency law (28 β†’ 4.4 ms with recruitment) and a floor at the anatomical minimum. Six numbers, one reflex, all of them read off a connectome that was never asked about behaviour.

Next: Synthesis IV β€” what the motor continent added, and what this whole book turned out to be about.

Chapter 61Synthesis IV β€” the motor continent, and what a reflex is made of

closing Volume III Β· experiments 052–060 Β· nine chapters, one reflex taken apart

Volume I went into the mushroom body and came out with a memory that becomes paranoia. Volume II went into the optic lobes and the compass and came out with a heading that survives its own broken parts. Volume III asked the simplest question in the book β€” how does this brain make a muscle move? β€” and the answer took nine chapters because the honest version has six numbers in it.

The reflex, in full

propertyvaluechapter
output cable width1,305 descending neurons, 0.94% of the brain52
resting state of the command neuronheld shut β€” 2,029/2,330 inhibitory synapses vs 1,729/2,407 excitatory53
quorum~100 of 259 looming detectors (38% of the type), gain-invariant55
hard floor<30 detectors cannot fire it at all, at any gain, with or without inhibition55, 58
brake20 cells = one third of the threshold, 6 ms, and most of the reliability57, 58, 60
recurrent amplifier10,188 DN→DN edges = 44% of the command, from 19% of the wiring59
latency law27.8 ms at 32 detectors β†’ 4.43 ms at 259, within 0.8 ms of the two-hop floor60
ceilingthe network's own inhibition closes the window above gain 0.1554

None of these were fitted to behaviour. The LIF constants are Shiu et al.'s, the wiring is FlyWire's, the stimulus is Poisson noise on cells someone else named β€” and the thing that comes out reacts in 4 to 28 milliseconds, demands a quorum, and refuses to fire for the wrong stimulus. That is a reflex, reconstructed from a wiring diagram, with its safety mechanism intact.

Thesis 1 β€” the exit is labelled lines, so the brain's celebrated centres are off-path

Five sensory programs recruit descending sets whose mutual intersection is empty (ch56). Which makes a prediction, and ch57 collected on it: delete the entire mushroom body — 5,177 Kenyon cells — plus the 2,878-cell central complex, all 96 MBONs, CT1 and APL, and looming→escape reads 390.0 Hz instead of 390.0 Hz. 8,184 cells of the most-studied circuitry in insect neuroscience, removed, with no measurable effect on two of three transforms.

The lesson is not that those structures do nothing. It is that where a brain learns and where a brain acts can be almost disjoint sets of cells, and a connectome makes that checkable. Volume I and Volume III are about the same animal and share almost no neurons.

Thesis 2 β€” one output layer, two architectures: a sniper and a chorus

Escape is brittle and specific: βˆ’87% when LPLC2 goes, βˆ’44% when the exit's recurrence goes, indifferent to everything else, and 0 Hz for every non-looming stimulus we tried β€” including an olfactory firestorm of 272,000 spikes (ch56). Mechanosensory motor recruitment is graded and robust: every single lesion in the atlas costs it something (βˆ’4% to βˆ’23%) and none of them break it.

Those are two different engineering answers living in the same 1,305 wires, and the connectome distinguishes them without any behavioural data: one transform's mass sits in a labelled line, the other's is spread across a population. Fragility is not a flaw here β€” it is what specificity costs.

Thesis 3 β€” the connectome's two blind spots are opposite

Ch53 read the giant fiber's input tree and concluded, from anatomy alone, that it was wired shut. Three chapters of dynamics never opened it by accident. Anatomy was right.

Ch59 read the DN→DN block and would have concluded, from anatomy alone, that it was a minor input — 349 of 1,729 excitatory synapses, a fifth. Dynamics said it carries 44% of the command, and that cutting it costs twenty times more than deleting twelve times as many cells. Anatomy was wrong by a factor of two.

The rule that reconciles them: a wiring diagram is honest about what connects and silent about what reverberates. Inhibition is legible because its effect is local and immediate β€” a synapse count is a good estimate of a brake. Recurrence is illegible because its effect is a loop gain, and no static count contains a loop. This is the sharpest methodological result in the volume, and it is a warning to anyone reading a connectome without simulating it β€” which, before this project, included us.

Thesis 4 β€” you can only measure what does not ignite

Ch58's retraction is the volume's most useful failure. A nine-lesion feeding screen at paper gain produced 40–70% "effects" until we measured the intact brain across five seeds and found it ranging from 200 to 443 Hz. Everything was noise. Below ignition, the same pipeline resolves a 20-cell lesion and a 24-cell shift in quorum; above ignition it cannot resolve 5,177. Ch28 found the subcritical regime is 300Γ— cheaper in spikes. It is also the only regime in which this brain can be observed at all β€” cheapness and observability are one property, and a brain that lives near the ignition edge is buying both.

Thesis 5 β€” every safety mechanism is small, late, and invisible until removed

Twenty cells. 0.014% of the brain. They do not gate the escape β€” they cannot, because inhibition needs its own synaptic hops and arrives after the first spike has already left (ch60). They do not set the floor either β€” 8 detectors fire nothing with or without them (ch58). What they do is tax the margin: a third of the threshold, 6 ms of latency, and a collapse of trial-to-trial reliability from 19 ms of scatter to 5.5. In other words they suppress false alarms without ever slowing a true one, which is the exact specification of an escape system β€” and it was recovered by deleting twenty cells from a wiring diagram and watching a clock.

Which is the fourth independent arrival at this book's oldest thesis. Volume I: sparsity is actively maintained (ch20–21), memory needs active forgetting or it becomes paranoia (ch24–25). Volume II: the compass holds because its parts fight each other (ch44). Volume III: the reflex is fast because a brake is standing between it and every ambiguous shadow. Nothing that works in this brain is free, and the maintenance is always cheaper than the function it protects.

What the motor continent did not answer

Honest gaps, for whoever reads this next. MN9 above ignition is unmeasurable with our current instrument, so the feeding lesion atlas remains open. DNp03/DNp04 are effectively unlabelled in snapshot 783 (one cell), so the classical escape co-command neurons could not be tested as types. Nothing here has a body: the descending neurons end in a ventral nerve cord this connectome does not contain, so every "command" is a spike rate with no leg attached β€” the MANC dataset is where that continues. And every number in this volume is a rate under Poisson noise, not a response to a growing image; the looming stimulus of ch55 is a recruitment count standing in for an expanding edge.

Sixty-one chapters ago this was a 57 MB download and a question about whether a Mac mini could hold a fly's brain. It can. What it holds, it turns out, is not a simulation of a fly β€” it is a testable claim generator: 29 experiments, six honest negatives, one self-caught retraction, one confirmed novel prediction (ch26), and now a reflex disassembled into six numbers that a wet lab could go and check on Monday. The connectome was published as a map. Three volumes in, the useful thing about it is that you can break it on purpose.

Volume III closes here. The open doors are labelled above.