Open work after stage localization
Status, 2026-10-30. The weight accounting in option 1 is done: lamina drive onto the medulla found the ON path held below rest by inhibitory L1 and the OFF path under threshold because L2 fires too slowly. The operating-point sweep then raised
--r-base: the OFF medulla (Tm1, Tm2, Tm4) wakes at higherr_base, and T5 stays silent on the real imago. What reaches T5 found T5 both braked (CT1, modelled as one point cell per side, fires flat out) and under-powered (Tm9 silent). Open: a graded-rate early visual model (option (b)) and a per-column CT1, and why the lamina bias rule misses L1 and L3. The rest of this note is the 2026-09-16 record, annotated where it is out of date.
Goal
Record the next experiments and the machine layout after the stage-localization probe, so a later session does not have to reconstruct the discussion.
Setup
- git:
masterat5457ed1when this note was written (stage-overlay code and notebook already pushed) - machines in play: Talos (no GPU), straylight (AMD Radeon 8060S, ROCm, gfx1151), titan (GPU), Mac M3 Max (mps)
- layout: most machines share the same source paths (
~/src/flatline,data/imagos/, connectome feathers under the same--source-dir) - imagos are runtime data and are never committed
What happened
After the stage-localization run showed the lamina firing and the medulla silent, the next science step and the CPU-vs-GPU machine split were discussed, then parked here instead of being implemented in the same session.
Options
Science (priority order)
- Lamina → medulla weight accounting (recommended next). On the real v1.0 imago, for each of Mi1, Tm3, Mi4, Mi9, Tm1, Tm2, Tm4: median effective incoming weight from L1/L2/L3, the sign of that input, and the fraction of cells with any lamina drive at all. Compare the shuffled control. A medulla cell with no lamina input, or with a net input that never crosses threshold at the measured lamina rates (L1 ~38 Hz, L2/L3 ~21 Hz), would explain the drop without touching the tonic-bias policy.
- Only if (1) says the medulla should fire and does not: revisit the spec 8.6 fallback (graded or resampled lamina). The stage-localization run already ruled this out as the first move: the lamina spikes.
- Not next: raising
target_hz, encodergain,--bias-undriven, or a longer--secondsto “wake” a silent lamina. The lamina is not silent.
Keep the probe’s T4/T5/HS/VS verdict unchanged. Stage rates stay a
diagnostic overlay (report["stages"]). Every result still needs the
shuffled-connectome control. Tests still never read the real dataset;
real-imago commands are CLI tools.
Machines and imagos
Facts, not proposals:
build-imagois CPU ingest (pandas/feather). It does not use a GPU.Imago.savewrites CPU tensors through safetensors plus a JSON sidecar.Imago.loadreturns CPU tensors.Imago.to(device)is what places a run on cuda, mps, or cpu. An imago built on any host runs on any other.- Running the imago (probe, bench) is the GPU-shaped part. Full-imago
bench on the Mac was about 0.13× realtime on cpu and 0.53× on mps.
On Talos,
pick_device("auto")already falls through to cpu. A four-direction probe there is minutes, not impossible. make sync-straylightexcludesdata/, so a built imago does not travel with the code tree.
Deferred at this checkpoint (status as of 2026-10-30):
- Built since:
make push-imagos/make pull-imagos(IMAGO_HOST, default straylight) andmake sync-titannow exist; see the Remote target section ofAGENTS.md. - Remote checkout path is
src/flatlineon straylight; titan and Talos are expected to match. - Correction: titan is the M3 Max Mac (
--device mps), not a CUDA host, and straylight runs--device cpuuntil a ROCm torch is set up; the--device cudaadvice below is wrong for both. - Since 2026-10-30, wntrmute replaces Talos. Read “wntrmute” wherever
this note says Talos; its checkout is
src/flatline-imago, and the Remote target section ofAGENTS.mdhas the current layout.
Recommended workflow until those targets exist: build on straylight
or titan if the feathers live there, scp the imago pair onto Talos,
run with --device cpu (or omit the flag). On straylight/titan run
the same file with --device cuda. Superseded (2026-10-30): use
make push-imagos / make pull-imagos instead of scp.
Conclusions
The next experiment is the lamina→medulla \(W_{\mathrm{in}}\)
account, not a graded lamina and not more tonic-bias knobs. Imagos
are already portable; Talos does not need a GPU to load one. GPU
hosts are for running the engine, and for holding the large source
and product files. Same paths on most machines. Do not commit
data/.
Next steps
- Weight accounting in option 1, with a notebook entry, on whatever
host is convenient (
--device cpuon Talos,--device cudaon straylight or titan). Done 2026-10-30: lamina drive onto the medulla. - Add the deferred rsync targets when copying imagos by hand gets
old. Done:
make push-imagos,make pull-imagosandmake sync-titan. - Only then consider the spec 8.6 graded-lamina fallback, and only if the accounting says the medulla should already be firing. Answered no (2026-10-30): at the measured lamina rates no medulla cell has a net lamina input above the threshold gap, so the condition is not met.