Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Optic-flow probe, first run

Goal

Learn whether the frozen wiring computes direction-selective motion under the tonic-bias policy, before any training: the go/no-go of spec section 8.6. Three conditions: frames every step (the ideal stream), frames held 100 ms (the stock streamer), and the shuffled control with continuous frames.

Setup

  • git describe: d19f4fe
  • machine: Mac M3 Max, device mps
  • imago: data/imagos/male-cns-v1.0.imago (n_neurons 167,950, n_edges 25,530,591, built_at 2026-09-16T02:29:04+00:00, imago git_describe 4428500-dirty, shuffle_seed null); control data/imagos/male-cns-v1.0-shuffled-1.imago (n_edges 25,440,553, n_edges_shuffled 25,414,963, shuffle_seed 1). Both sidecars predate the haltere_groups entry, which is expected and irrelevant to this probe.
  • eye map: parametric, Δφ 5°, az0 60°, el0 0°, planar layout x = p − q/2; extents left: 877 columns, azimuth [0.0, 135.0]°, elevation [−77.94, 86.60]°; right: 891 columns, azimuth [0.0, 135.0]°, elevation [−77.94, 86.60]°; warnings: left eye elevation (-77.9422836303711, 86.6025390625) outside literature (-70.0, 90.0), right eye elevation (-77.9422836303711, 86.6025390625) outside literature (-70.0, 90.0)
  • lamina bias (mV) at r_base 10 Hz, target 50 Hz: L1 15.6276, L2 15.3426, L3 12.8401 (identical across all three runs; computed from the imago’s weights, not from the shuffle)
  • grating: period 30°, 1 Hz, contrast 0.8; 0.5 s warm-up, 2 s per direction; ratio 1.5
  • commands:
    uv run flatline eyemap --imago data/imagos/male-cns-v1.0.imago
    uv run flatline probe --imago data/imagos/male-cns-v1.0.imago --device mps --frame-interval-ms 1 --out data/runs/probe/2026-09-16-continuous.json
    uv run flatline probe --imago data/imagos/male-cns-v1.0.imago --device mps --frame-interval-ms 100 --out data/runs/probe/2026-09-16-hold100.json
    uv run flatline probe --imago data/imagos/male-cns-v1.0-shuffled-1.imago --device mps --frame-interval-ms 1 --out data/runs/probe/2026-09-16-shuffled-continuous.json
    

What happened

All four commands (the eye map and the three probes) completed with no exceptions. The eye map took under a second. Each probe run took about 23-26 s wall time (continuous 25.7 s, hold-100 23.3 s, shuffled 24.0 s), well under the 1-3 minute estimate; the four-directions × 2.5 s-of-brain-time workload at roughly half real time on mps plus imago load accounts for it, but it ran faster than expected, possibly because most of the network stayed silent (see below). All three probes returned exit code 2 (verdict failed) — a result, not an error. On the real imago, both the continuous and the 100 ms-hold conditions produced exactly zero spikes in every probed set (T4a-d, T5a-d, HS, VS) in all four grating directions, for the full 2 s read-out window after the 0.5 s warm-up. The shuffled control produced small but nonzero rates (roughly 0.4-0.9 Hz for T4/T5, 30-57 Hz for the tiny HS/VS sets) that vary little across grating direction.

Results

conditionpassedT4T5HSVSaxis flip suspected
continuousfalsefalsefalsefalsefalsenone
hold 100 msfalsefalsefalsefalsefalsenone
shuffled, continuousfalsefalsefalsefalsefalsenone

Per-subtype rates (Hz) and selectivity for the continuous condition:

setcellsprogressiveregressiveupdownwinnerselectivityliterature
T4a16840.00000.00000.00000.0000progressive1.0000progressive (match)
T4b16900.00000.00000.00000.0000progressive1.0000regressive (mismatch)
T4c17780.00000.00000.00000.0000up1.0000up (match)
T4d17090.00000.00000.00000.0000up1.0000down (mismatch)
T5a16640.00000.00000.00000.0000progressive1.0000progressive (match)
T5b17150.00000.00000.00000.0000progressive1.0000regressive (mismatch)
T5c17200.00000.00000.00000.0000up1.0000up (match)
T5d16200.00000.00000.00000.0000up1.0000down (mismatch)
HS80.00000.00000.00000.0000progressive1.0000progressive (match)
VS340.00000.00000.00000.0000up1.0000down (mismatch)

Every rate in this condition is exactly zero. selectivity is defined as (max + 0.5) / (min + 0.5), so at 0/0 it evaluates to 1.0 and the winner tie-break (a >= b) always picks progressive or up. The “match”/“mismatch” column above is therefore an artifact of that tie-break, not evidence of literature agreement — it is the same pattern every direction-agnostic axis produces at zero rate. The 100 ms-hold condition’s per-subtype table is identical in every field (all rates 0.0000, same winners, same matches) and is omitted here for space; it is in data/runs/probe/2026-09-16-hold100.json.

Conclusions

All three verdicts fail, but they fail for different reasons that together are informative. On the real imago, T4, T5, HS, and VS are completely silent under this grating in both the continuous and the 100 ms-hold condition — not merely non-selective, but producing zero spikes over the full 2 s read-out window in every direction. The selectivity and match/mismatch figures reported for that condition are a numerical artifact of the zero-rate tie-break in evaluate_probe, not a real (even if failing) signal. The tonic lamina bias is doing its job at the source (L1/L2/L3 are biased 12.8-15.6 mV above rest, matching the target 50 Hz operating point at the 10 Hz dark baseline), but whatever drive that produces does not reach T4, T5, HS, or VS several synapses downstream in 2.5 s of brain time on this imago. This is consistent with, and sharpens, the “optic lobe nearly silent” finding from the first benchmark entry (2026-09-15): the silence documented there under a flat input rate is not confined to a crude bulk measure, it extends specifically to the direction-selective sets that the probe exists to test.

Since the real imago produced no signal to select on, the frame-hold condition cannot be distinguished from the continuous condition here — both are silent, so this run cannot yet say whether a 100 ms hold specifically kills selectivity, only that neither condition has any selectivity to kill.

The shuffled control is informative on its own terms: it is not silent (T4/T5 show small nonzero rates around 0.4-0.9 Hz, HS/VS around 30-57 Hz), but it is flat — selectivity sits at 1.00-1.01 across every subtype, far below the 1.5 ratio, exactly what a random rewiring should produce. A shuffled connectome that also passed would have meant the probe measures something other than wiring; instead it provides no selectivity, so if the real wiring is later made to pass, a pass would be meaningful. No axis flip is suspected in any condition (the axis_flip_suspected list is empty in all three reports), because axis-flip detection requires directionally-selective passing sets to compare against literature, and none of the sets passed here.

The proximate puzzle is not “is the wiring direction-selective” but “why is downstream activity zero at all” on the real connectome, when the shuffled connectome (with weight magnitudes preserved, only targets permuted) is weakly active. That the shuffle is active while the real wiring is silent suggests the real connectome’s specific routing — not its weight statistics — is suppressing activity between the lamina and the optic-lobe output stages probed here, worth investigating before touching the tonic-bias policy itself.

Next steps

Per spec 8.6, the fallback if the tonic-bias policy cannot produce motion-selective responses is a graded-rate lamina stage as in Lappalainen et al. 2024, replacing the spiking L1/L2/L3 with graded neurons that propagate both directions of contrast change. Before reaching for that fallback, the knobs worth sweeping first are target_hz (raise the lamina operating point well above 50 Hz to test whether downstream silence is a threshold effect), gain (encoder gain, Hz per log unit), --bias-undriven (bias lamina cells with no photoreceptor input too, in case those are damming the pool), and a longer --seconds to rule out a slow build-up that 2 s does not reach. It is also worth tracing spike counts stage by stage (lamina → medulla → T4/T5) on one direction to find exactly where activity drops to zero between the biased lamina and the silent probe sets, since the shuffled control shows that some path through the same weights can carry signal.