Can a fly learn to trade?
The public fly runs on biological wiring. We’re investigating what it could learn from experience—and whether any advantage survives trading costs.
Inside the experiment
Development snapshot · 20 September 2026. These experiments are separate from the archived public demo.
20 September · latest results
The first market-transfer screen was negative. On 224 held-out, three-hour cycles of historical BTC/ETH candle data, the covariance learning rule trailed an equally informed logistic learner by 0.309 basis points per cycle after assumed costs. The descriptive 95% paired daily-block bootstrap interval was −1.060 to +0.409 basis points. Under the base-cost scenario, the covariance arm finished with $0.574 per starting dollar. Independent recomputation confirmed the result. These are hypothetical candle-mark returns, not executable fills; historical data availability and actual trading costs were not established. This separate transfer-rule test did not evaluate the full connectome or justify promoting a model.
Fresh quote collection worked; it is not a performance result. A ten-minute, read-only capture retained all 240 BTC/ETH top-of-book REST snapshots across 120 five-second slots, with no failed requests or missed scheduled slots. Raw-response hashes and the event chain passed independent checks. The assets were sampled sequentially; source-time meaning remains unverified. This does not meet the longer study’s data requirements or demonstrate actual fills.
The source learning rule still needs a justified market interface. One 72-offer synthetic switching fixture compared expectation-on/off rules under action-contingent and full feedback, retaining all 288 events. The expectation-on rule kept preferring the old cue after reversal; the off-rule eventually lost cue discrimination. Full-feedback mode is a transfer extension, and the fixture does not reproduce the paper’s environment. Its outputs are acceptance propensities—not validated payoff forecasts or market win probabilities.
No learning upgrade or economic promotion follows from these results. Next: justify the payoff interface and equally informed controls before another market evaluation. Result summaries and evidence hashes (JSON) →
20 September · remote capture completed
12 rounds · 110 seconds · 489.5 MiB peak model-process memory. Our 164,587-neuron model completed a bounded run on an isolated CPU runtime using live ETH-USD reference prices. It produced 10 buy decisions and 2 holds, with 10 simulated fills. Paper P&L was −$2.421559 from a $10,000 simulated starting balance.
All 12 decisions were retained. The recorder’s contiguous event chain was independently checked, and the original timestamps were preserved. This is an engineering capture, excluded from any primary or preregistered performance result. It establishes that the capture pipeline can complete on a separate machine; it does not establish forecasting skill or improved alpha.
The fixed experimental decoder remains buy-biased. This model has no learning, and this capture had no shadow or null baselines. No mainnet or model-bound testnet transaction was sent by this run. This stopped run is now the recording shown on the public homepage.
13 September · full-network input check completed
Six synthetic-input conditions completed on our pinned 164,587-neuron model built from the MaleCNS connectome. Different inputs still produced different descending-neuron responses after 240 neutral, eyes-on warm-up steps. The response did not disappear in this tested regime.
See the three-point response
| Input | From reset | After warm-up |
|---|---|---|
| Negative | +0.0451 | +0.0963 |
| Neutral | +0.0290 | +0.0478 |
| Positive | +0.0127 | +0.0610 |
| Each probe lasted 60 simulation steps; input levels were −0.2, 0 and +0.2. Raw spike-count arrays, summaries and anatomical population membership were independently checked. | ||
The readout is still unresolved. Both warm perturbations raised the margin relative to neutral: it is not monotonic across these inputs, and neutral bias remains. Flipping a sign or subtracting an offset is not a validated fix.
Follow-up: 12 tonic/input conditions checked. Lowering the background current changed the direction of the original readout’s positive-versus-negative response. Equalising total current between the eye populations increased neutral bias at both tested background settings; it did not fix the readout. The original setting reproduced the three warm-up results above exactly.
Separating input strength from direction. A further 12-condition check held total eye-input current fixed while varying its left/right balance. At one background-current setting, increasing total input reversed the positive-versus-negative response contrast. Six overlapping conditions reproduced the earlier results exactly, including neural states and spike rasters. A fixed sign flip is therefore not a reliable fix across these tested settings.
These diagnostics used synthetic inputs. Returned arrays and population membership passed independent checks. These results do not establish forecasting skill, memory or biological fidelity, and do not overturn earlier eyes-off findings. The public paper model is unchanged.
Learning from outcomes · prototype in development
Investigating changing rewards, repeated decisions, and learning from the difference between expected and received reward. The separate source-rule fixture and first market-transfer screen are reported above; neither reproduces the original behavioral experiment or validates a trading strategy.
19 September 2026 · first perishable-offer check. We tested our fly-inspired learning adaptation on 64 fixed synthetic seeds, with and without an externally forced acceptance every fourth offer. The intervention delivered more observations of the newly better option, but worsened the covariance learner’s reversal-preference contrast by 4.53 percentage points on average. The paired seed-bootstrap 95% interval was −5.30 to −3.73 points. All 256 runs and 61,440 events were retained and independently checked. This does not support forced acceptance as a fix for this candidate. Its parameter choices differ from the linked author implementation; this is neither an exact reproduction nor a market-profit test. No learning change has been deployed.
Memory across timescales · source reviewed
Studying how short-term memory can influence longer-term learning. We have the authors’ circuit model and experimental source data; reproducing its results comes before adapting it to trading.
Trading costs · benchmark in development
Comparing ways to act on the same signal: trade immediately, adjust gradually, or wait. Fees and execution costs count. Better execution alone won’t be presented as evidence that fly wiring has an edge.
The paper · experimental design in development
We’re defining the controls and records needed to trace a decision through execution to its learning outcome. Public observations are exploratory. A confirmatory study needs a protocol fixed before its evaluation period.
What’s established: the public model has no weight learning; these upgrades have not been deployed. No positive out-of-sample profitability result or peer-reviewed paper from this project has been established.
Read the research behind the experiments
- Reward expectations and adaptive choice in Drosophila — Rajagopalan et al., 2023.
- Interactions between short- and long-term memory — Huang et al., 2024.
- Dynamic trading with predictable returns and transaction costs — Gârleanu & Pedersen, 2013.
- Dopamine pathways and the timing of associative learning — Handler et al., 2019.
- Prediction-error learning in a spiking larval fly model — Jürgensen et al., 2024.
- Learning in recurrent spiking networks — Bellec et al., 2020.
These studies inform hypotheses. They do not demonstrate that a fly model can profit in financial markets.
Verified testnet receipts → Separate, manually triggered Base and Solana engineering tests are now complete. These are not decisions from the public paper model.
Current public model and earlier measurements
DraftNot preregisteredNot frozenPaper settlementRecorder has no signerA real fly connectome — 164,587 neurons from a male Drosophila CNS — was used for paper trading on an ETH-USD reference feed. The public demo currently shows archived observations, decisions and spike counts, with recorded full-state checkpoints. It is an experiment in whether biological wiring computes anything useful. It is not investment advice, and it has proved nothing yet.
1. What the fly is
The wiring is the MaleCNS v1.0 connectome: one adult male Drosophila, whole central nervous system including the ventral nerve cord. Everything around the wiring is engineered and unlearned. In the current public model there is no plasticity or training step: its weights do not update. Execution is paper only, on a simulated USD ledger.
| Component | Value |
|---|---|
| Connectome | MaleCNS v1.0, traced-to-traced, minconf 0.5 filter, MD5-verified cache |
| Neurons | 164,587 |
| Edges | 25,563,197 |
| Source paper's own count | 166,691 neurons (different filter; both printed side by side) |
| Units | Identical, noiseless leaky integrate-and-fire; no delays; no plasticity; one global gain (0.01); tonic current 0.07 |
| Synapse signs | From a neurotransmitter classifier on the source dataset (see section 8) |
| Encoder | One scalar return signal z, clipped at |z| = 1 (a 1 % five-tick move), drives the two photoreceptor populations (left and right eye) as current. |
| Decoder | A fixed left/right descending-neuron readout: signed margin = (buy − sell)/(buy + sell), buy = spikes per right DN, sell = spikes per left DN, acted on above a 0.03 threshold; hold is abstention. |
| Descending neurons read | 1,314 |
| Round | 60 simulation steps per decision; median 1.34 s per round on one machine |
| Learning | None. Weights are immutable; the same input from the same state gives the same output. |
| Execution | Paper settlement only; no keys, wallets, signing, funding or broadcast in the recorder path |
FlyWire, the dataset behind Shiu et al. (2024) and Costi et al. (2025), is a different animal and a different dataset (female brain, no VNC, 139,255 neurons). Results on it are precedent for this network, not validation of it.
2. What has been measured
The earlier measurements below cover a synthetic input study, a bias diagnostic, a memory probe, and a live-reference paper capture whose recorder has been validated. The latest full-network input check is summarised above. Two further studies ran on 11 September and have sections of their own: the interface diagnostic (section 3) and the positive control PC0 (section 4). All are exploratory. None is a forecasting test.
2a. Synthetic input study (12 rounds per condition)
| Measurement | Result |
|---|---|
| Six neutral-start sequences, 72 rounds: buy / sell / hold | 62 / 0 / 10 |
| Buy-to-sell flips under whole-path sign inversion (paired rounds) | 0 of 22 |
| Descending neurons whose counts differ between paired conditions, per round | 462–567 of 1,314 |
| Signed margin at z = 0 from reset (below the 0.03 threshold: hold) | +0.029 |
| Signed margin at z = 0 in the following rounds | +0.03 to +0.10 |
| Eyes off: buy / sell / hold over 12 rounds | 0 / 0 / 12 |
| Eyes off: spikes per descending neuron within a round | 2, or 3 in every fourth round (all 1,314 identical) |
| Harness vs product replay mismatches | 0 |
| One deterministic trajectory per condition; the simulator has no noise, so "0 of 22" is exact for these paths and does not generalise to other paths or parameters. | |
2b. Bias diagnostic (256 rounds)
| Arm | Rounds | Buy | Sell | Hold | Buy↔sell flips under sign inversion |
|---|---|---|---|---|---|
| Production encoder (all four branches) | 128 | 75 | 2 | 51 | 2 of 31 (reset arms); 0 of 31 (persistent) |
| Equal-total-current encoder, "E-bal" (all four branches) | 128 | 89 | 0 | 39 | 0 of 31 (both state modes) |
| All trajectories | 256 | 164 | 2 | 90 | — |
| 256 of 256 planned round-equivalents completed in 296.93 s; 21 tiny-network self-tests passed first; reference cache hashes unchanged. Both raw sells were omitted under the zero-inventory counterfactual and accepted with one ETH available; zero risk rejections. E-bal only equalises neutral total input current; it did not cure the buy-heavy readout, and switching to it is not justified by these results. | |||||
2c. Memory probe (244 valid round-equivalents)
| Condition | Test R² for zt | 95 % CI | Null 95th pct | Gate |
|---|---|---|---|---|
| State reset each round (N) | 0.675 | [0.50, 0.83] | 0.010 | passed |
| State persists across rounds (P) | −0.012 | [−0.26, 0.004] | 0.002 | failed |
| Paired difference P − N | −0.686 | [−0.97, −0.54] | — | — |
| Lag | P test R² | 95 % CI |
|---|---|---|
| zt−1 | −0.025 | [−0.56, 0.26] |
| zt−2 | −0.074 | [−0.54, 0.005] |
| zt−4 | −0.074 | [−0.60, 0.15] |
| Test n ≈ 25; splits 52/26/25 with a 4-round gap; one network, one seed stream. A planted lag-1 signal was detected at amplitude 0.2 (R² 0.54) but not at 0.1 (R² 0.08), so weaker history signals would be missed. Persistent state does change output (summed per-DN variance 1,993 vs 1,171) without being linearly decodable at this sample size. Fixed decoder in this probe: 101 buy / 14 hold / 0 sell with persistent state, 113 / 2 / 0 without. Run: 244 round-equivalents in 362.6 s of simulation; cache and code hashes unchanged. | ||
2d. Live-reference paper capture and recorder validation
As checked on 19 September 2026, the public show displays archived paper observations from an ETH-USD reference feed; it is not a currently updating trading run. The historical capture resumed on 12 September 2026 at 15:26 CEST, using malecns_lif v0.1.0 and recorder schema 1.2.0. Newer research builds have not been adopted. See the show and its capture status for recorded timestamps and freshness. These observations use simulated funds and do not establish forecasting skill.
The earlier six-observation recorder validation is retained below. The separate 12-round demonstration remains available as a historical snapshot in section 9; neither should be read as evidence that a new capture is currently running.
| Check | Result |
|---|---|
| Feed | Coinbase Exchange public ETH-USD ticker, TLS verified, 7 public GETs |
| Ticks accepted | 6 of 6 (5 s poll, 0 failures) |
| Verdicts | round 1 no_action; rounds 2–6 approved buys; 4 paper fills with fees |
| Research events written | 18 (header 1, observation 6, decision 6, fill 4, footer 1) |
| Hash chain | verified from genesis; tip 9da43880d7b870f9… |
| Per-decision spike vector stored | 164,587 elements, with body ids and matching SHA-256 |
| Exact replay on a fresh adapter from archived pre-state + stored input | 6 of 6 decisions bit-exact (proposal, spike vector, post-state hash, stimulus hash) |
| State blobs | 11 references, all content-address verified; chain contiguous |
| Public export | 18 rows, 0 schema errors (fly_research_event v1.1), no private path strings |
| Externally timestamped | no |
| The buy-only verdict sequence is consistent with the known buy bias of the pilot decoder. It is not a signal. A private-path leak in the export header was found on the first validation attempt and fixed in the recorder before the run passed; the run database itself was not modified. | |
3. Interface diagnostic, 11 September
On 11 September a pre-declared, locally pinned diagnostic asked a narrower question than the paper does: can this interface — encoder, state mode and decoder — carry the current input at all? It ran on synthetic independent random z with no market data, on one network at one gain and tonic setting (gain 0.01, tonic 0.07). It is a draft and it was not preregistered.
The three pre-declared primaries
| Primary | Bar | Result | Verdict |
|---|---|---|---|
| P1 — sign-and-offset fixed decoder under persistent state (arm A5, decoder D2) | Balanced accuracy ≥ 0.75, hold ≤ 50 %, sell share 0.35–0.65, Holm-gated p at α = 0.05 | BA 0.573; hold 0.61; sell share 0.83; p 0.177; n 136 | FAIL |
| P2 — trained readout input gate under persistent state (arm A5, decoder D5) | Balanced accuracy ≥ 0.75, Holm-gated p at α = 0.025 | BA 0.545; CI95 [0.466, 0.644]; p 0.163 | FAIL |
| P3 — counts versus wiring (encoder ladder, Design 3) | |m(0)| < 0.010 across the ten silenced-population encoders | met for 2 of 10; |m(0)| ≥ 0.020 for 6 of 10 | INCONCLUSIVE |
| P1 fails on balanced accuracy, hold rate and sell share independently of its p-value, and under both candidate decoder signs (BA 0.573 with +1, 0.427 with −1). P2's own reading, printed by the harness: the gate was not passed at gain 0.01 / tonic 0.07 / n = 480, which is explicitly not a statement that topology is useless. P3 is identified only up to driven-population size, not retina size, because the silenced right photoreceptors stay recurrently coupled and can still spike. The trained readout on the fresh-reset arm (A1, decoder D5, BA 1.000) is the void control of the design, not an endpoint: a monotone map of one scalar is linearly separable, so it has no power to discriminate between interfaces. | |||
The first run was declared void; the re-run is the record
The first run, at 09:03–09:15Z, carries a root decision of VOID under the protocol's own pre-declared process-limit clause, §6(f): "any arm exceeds the 75-min process stop or more than 4 simulation processes run at once". In plain language: while the four diagnostic lanes were running, two unrelated simulations were reading the same connectome cache on the same machine — the positive-control assay described in section 4 and the go-live paper capture — so six simulation processes were live at once against a pre-declared ceiling of four. The clause is unqualified and the harness did not machine-check it, so the run breaches it.
The simulator is deterministic and single-threaded, the cache is read-only and verified unchanged in all seven arm metadata records, and the processes share no mutable state, so no recorded number was affected; only the wall-clock timings were inflated, and those feed nothing but two guards that never tripped. The consequence was procedural rather than numerical, and it stood: that first run issued no verdict of record, and its outputs were kept as a determinism reference — the numbers a quiescent re-run had to reproduce bit for bit.
That re-run has since been done. The same diagnostic ran again on a quiet machine under the pinned re-run protocol, in four lanes from 12:52 to 13:03 local time, with the process-limit clause machine-checked at four points and clean at every one: before launch (no other process holding the connectome cache, four lanes planned against a ceiling of four), at each of the four lane starts, at each of the seven arm starts, and after the lanes finished. All seven arms completed their full planned rounds, each lane exited zero, the analysis step exited zero and opened the held-out window once, and the P1 precondition was written to its own file before that window was opened rather than reconstructed afterwards.
It reproduced the archived records bit for bit apart from wall-clock timings. Every one of the 1,852 recorded rounds and footers across the seven arms is identical to the void run's once the elapsed-time, memory and timestamp fields are stripped, and the hash over each arm's whole stripped record stream matches in both directories. Of the 1,113 comparable values in the analysis output — every leaf that is not a clock, a memory figure, a code hash or a guard field — 1,112 are identical; the single difference is a prose footnote that lost a citation. The verdicts are therefore unchanged, and they are now the verdicts of record: P1 FAIL, P2 FAIL, P3 INCONCLUSIVE.
The re-run's own fingerprints, for checking: results.json 584aa11f…, results.md 5cbe8621…, protocol.md 24ed1e1f…, meta.json 627423eb…. The scope is the one it started with and has not widened: synthetic independent random input, one network, one gain and tonic setting, a draft that was not preregistered.
Secondaries under Benjamini–Hochberg
Six secondaries carried p-values, and a Benjamini–Hochberg step-up at q = 0.10 was computed over all six. One survives it.
| Secondary | p | Rank | Threshold q·rank/m | Reject |
|---|---|---|---|---|
| S2 — A6 D5, permutation | 0.014 | 1 | 0.0167 | yes |
| S2 — A6 D5, circular shift | 0.020 | 2 | 0.0333 | yes |
| S5 — partition null fraction | 0.175 | 3 | 0.0500 | no |
| S4 — A5 D3, permutation | 0.177 | 4 | 0.0667 | no |
| S6 — twin delta, permutation | 0.265 | 5 | 0.0833 | no |
| S6 — twin D5 on ΔDN, permutation | 0.724 | 6 | 0.1000 | no |
| The survivor is S2: the trained readout on the push-pull encoder under persistent state (arm A6, decoder D5), significant on both its permutation p (0.014) and its circular-shift p (0.020), with a block-bootstrap CI95 of [0.537, 0.669] that excludes 0.5. It still fails the S2 bar of balanced accuracy ≥ 0.75: the balanced accuracy is 0.603. No secondary changes a primary verdict; the primaries are Holm-gated separately. | ||||
How this was put publicly
On 11 September 2026 we ran a pre-declared, locally pinned, not-preregistered diagnostic of the fly interface on synthetic random inputs (no market data), one network, one gain/tonic setting. All three primary tests came out negative or inconclusive: the sign-and-offset decoder fix did not pass under persistent state (balanced accuracy 0.57 on the rounds where it acted, holding 61 %), the trained readout did not pass the input gate under persistent state (0.55, CI 0.47–0.64, threshold 0.75), and the count-versus-wiring question stayed inconclusive. The harness control passed: when the network is reset to the same fresh state before every round, the current input is recoverable (trained readout 1.0 on 34 mirrored pairs; the flipped legacy decoder 0.93 on the 54 % of rounds where it does not hold). We are considering resetting state before each decision and flipping the decoder sign; that configuration has not been tested as it would be deployed, it removes any across-bar memory, and it says nothing about markets, forecasting, or whether the wiring matters. The fly has proved nothing yet.
Addendum recorded with that paragraph: the diagnostic was later declared void on a pre-declared process-limit clause because two unrelated simulations shared the machine during the run; the numbers are unaffected by construction and will be re-run on a quiescent machine before anything is quoted as a result. That quiescent re-run has since been run and reproduced the same numbers and the same three verdicts, so the paragraph above reads the same on the record of the re-run.
The amendment is a proposal, not a decision
The proposal on the table is to reset the network state before every decision, flip the decoder sign so that a right-descending-neuron excess reads as sell (the action is taken from −m), and add an offset fitted on the first window. The configuration actually measured is the fresh-reset arm A1 with decoder D2: balanced accuracy 0.929 on the 54 % of labelled test rounds where it acts (37 of 68 rounds; hold 0.46), buy 19 / sell 18, sell share 0.49, p = 0.001, offset m0 = +0.0192. Those 68 labelled rounds are 34 mirrored (z, −z) pairs from one fresh start state, so the honest confidence half-width is ±0.146, not ±0.103.
Status: proposal, not adopted. The quiescent re-run condition is the one that has been met; three conditions are still open — the engineering check on the real cache, a pinned gated protocol for the amended configuration (written and pinned, not yet run), and external anchoring. The registry entry for the decision records amendment_adopted: false and market_data_read: false. Nothing in the protocol or the configuration was edited.
Five conditions were set before it could be adopted. The first and fourth are met; the other three are open:
- Met. PC0 re-run under the new mode — reset per decision, a declared start state with its hash, the flipped sign. Run on the same seeds under the amended package: identical result (section 4).
- Open. The engineering check passing on the amended interface: byte-identical decisions under the new mode on the real cache, the recorder showing the declared start state before every bar, and the process guard clean.
- Open. A new pinned, gated protocol for the exact amended configuration, run on a quiescent machine, passing on its own pre-declared bars.
- Met. The quiescent re-run of this diagnostic reproducing the archived raw records bit for bit — done under the pinned re-run protocol with the guard clean at every check, 1,852 of 1,852 records identical once timings are stripped.
- Open. An external anchor of the amendment note and the configuration hash — without it, "decided before market data" is only a local file timestamp.
What it does not establish, on the record of the amendment and the v2 package's own "what is NOT claimed" list:
- No warmed start state was tested; every reset round restarted from a fresh state. The one warmed-start fixed-decoder condition on file failed its input gate (test R² −0.101), so the A1 numbers cannot be carried onto a warmed design.
- The sign is regime-dependent: −1 in the fresh-reset regime, +1 under persistent state — and undetermined there, since the bootstrap interval on the underlying correlation contains zero (r = +0.086, n = 238, t = +1.33, CI95 [−0.047, +0.219]). The persistent-state sign is unstable across data sets.
- Reset per decision removes all memory across bars, so the amended system is a feed-forward map of one scalar. That changes the question the paper asks rather than answering it.
- The offset is a single constant fitted on one window of one arm of one network at one operating point (gain 0.01, tonic 0.07, 60 steps) on synthetic input. It is not market-calibrated and must not be refitted on market windows without a new preregistered protocol.
- On the toy fixture the change flips every action the previous version took. That is the mechanical consequence of the sign, not evidence that the new decoder decides better.
- No degree-preserving rewire null was run, so nothing here speaks to whether the MaleCNS wiring matters. No market bar was read.
- Reset per decision is a production change, not a configuration change: the live adapter currently resets only when no prior state exists, and the grid check does not yet compare state policy, decoder sign or margin offset, so it would pass the new interface without noticing it.
4. Positive control (PC0)
A model that cannot reproduce a reflex which has already been validated in silico against behaviour is not worth pointing at a price feed. PC0 is that check, declared on 11 September before any run on the real graph and hashed so the runner refuses to start if the rule block has changed. It reproduces the contrast in Shiu et al. (2024) — real wiring versus shuffled weights — not the absolute firing rates, on our own dataset with our own simulator unchanged.
The pathway is sugar-sensing gustatory receptor neurons driving the proboscis motor neuron MN9. On this graph the populations resolve to 12 sugar-GRN candidate cells, all of type LB3c and all on the left side, and 2 MN9 cells, one per side. The drive is a seeded supra-threshold kick of +4.0 units per stimulated cell at a nominal 100 Hz for 1,000 steps from a fresh reset, with tonic current 0 everywhere — Shiu's zero basal assumption, not the 0.07 per step that the market adapter gives every non-photoreceptor. Thirty trials per cell of the sweep, master seed 20260911.
| Cell | MN9 fires | MN9 rate | GRN realised rate |
|---|---|---|---|
| gain 0.004, real wiring | 0 of 30 | 0.0 Hz | 99.6 Hz |
| gain 0.006, real wiring | 30 of 30 | 43.7 Hz (0.13 of max) | 100.5 Hz |
| gain 0.006, global weight shuffle | 0 of 30 | 0.0 Hz | — |
| Pass rule, frozen in the protocol and carried identically in the code: MN9 must fire in at least 27 of 30 real trials and in at most 3 of 30 shuffled trials, and the smallest grid gain meeting both is selected. Recorded verdict: passed, selected gain 0.006, reason "smallest grid gain satisfying both criteria". The grid brackets the three ways Shiu's single calibrated parameter (Wsyn = 0.275 mV) maps onto our dimensionless units: 0.0393 as an instantaneous jump, 0.0098 for equal integrated drive, 0.0062 for equal peak response. | |||
What that buys is narrow, and the protocol says so in advance: it means only that under this drive the real wiring separates from the shuffled-weight control on this one pathway, so the interface is not degenerate. It does not mean the MN9 rates are quantitatively right — Shiu et al. disclaim absolute rates themselves — nor that the graph carries anything market-relevant, nor that the selected gain is correct beyond this pathway, nor that the model handles inhibition-dominated or neuromodulated circuits, nor that a FlyWire-based validation transfers to MaleCNS.
Three things logged against this result
- LB3c as the sugar GRN type is an unverified lead. At the time of this run it had not been checked against the MaleCNS gustatory-typing companion paper. We have since acquired that paper; this population validation remains open. The label table gives 23 LB3c cells in total, sensory superclass, 12 left and 11 right; this run stimulated the 12 on the left.
- The selected gain is not the gain in production. The protocol freezes the selected gain (0.006) for the market study's gain axis, but production and the interface diagnostic both ran at gain 0.01. The discrepancy is logged for the configuration owner, and 0.006 has to be added to the declared gain grid; it has not been silently resolved.
- The null arms reported after the fix. The protocol's own null families at the selected gain 0.006, 30 trials each, reported rather than gated: the block- and degree-preserving rewire (NB:1, 232,273,579 accepted swaps, all 101 self-edges kept fixed) fired MN9 in 0 of 30 trials; the within-block weight permutation (NP:1, 25,562,837 weights moved) fired in 0 of 30. With the global weight shuffle also at 0 of 30 and the real wiring at 30 of 30, the reflex on this graph needs the specific wiring, not only its block structure or its weight distribution. The first attempt had crashed in the null generator because the real graph contains 101 self-edges and the generator assumed none; the generator was corrected, the run resumed in place reusing the 90 recorded trials verbatim, and the frozen rule recomputed the same verdict. Generating one rewired null of this size took 36 minutes.
PC0 was run twice: once under the current interface (above) and once under the amended package (fresh reset per decision, flipped decoder sign, offset), the latter on the same seeds. The amended-package run reproduced the same numbers exactly: 0 of 30 at gain 0.004, 30 of 30 at 0.006 at 43.73 Hz, global shuffle 0 of 30, selected gain 0.006. This was expected rather than informative: the assay drives sensory neurons and reads a motor neuron with a fresh reset every trial, so the decoder and the state policy are never exercised. It closes the first of the amendment's five conditions; the two null families were not re-run and the current-interface null results stand.
5. What has not been established
These are active research questions and engineering checks. Our first priority is the input-to-decision path: neutral bias, readout calibration and the effect of the chosen dynamics. Memory tests need an interface that first passes an input-sensitivity check. Market evaluation and matched wiring controls will answer separate questions about economic usefulness and the contribution of biological connectivity. A successful repair does not guarantee a positive scientific or trading result.
- Full-network forecasting skill remains unestablished. The separate learning-rule market screen was negative. It did not test the full-network model, and no net economic advantage has been established. Where input does move actions, it shows only that the fly reacts to recent returns, not that it anticipates future ones.
- Memory remains unresolved. The persistent-state input gate failed, so every lag probe is uninterpretable. The correct statement is "not measurable at this interface and sample size", not "no memory" and not "memory".
- Biological fidelity has not been validated. Real connectivity does not mean biological fidelity. With the eyes off, all 1,314 descending neurons fire the same count within a round; that is a warning about the modelled regime.
- The all-buy readout is a candidate engineering bug under test. Under neutral input the right-DN margin (+0.03 to +0.10) sits above the 0.03 threshold, so the readout is near-constant buy. The selected right optic-sensory input population is 36.56% larger than the left; all selected inputs are histamine-labelled. Unequal input drive is a confound to test, not a demonstrated cause. DN side labels use somaSide fallback; functional left/right trading roles are not established. In that earlier input-study protocol, the one-round response from reset moved the margin opposite to the decoder's sign convention and disappeared after 120 warm steps; the separate 13 September eyes-on check retains a response after 240 warm steps. This is a decoder property, not a market signal, and it must be resolved as a bug.
- Sign and tonic conventions differ from the published reference model. Shiu et al. (2024) use 0 Hz basal firing and treat dopamine, octopamine and serotonin as excitatory, with one free parameter calibrated against a measured motor readout. This model adds a tonic current of 0.07, sets those three transmitters to 0, and uses an uncalibrated gain of 0.01. The 3,017 neurons whose transmitter is "unclear" are set to +1. This is a third convention, different from both Shiu et al. (2024) and Costi et al. (2025), and a sign-convention sensitivity arm is required before any primary result.
- Topology and dynamics are not separated. The contributions of the wiring and of the chosen dynamics have not been isolated; no rewired null, no matched input population and no topology control has been run on the interface.
- No wallet should be funded on the current mapping. That is the standing recommendation of the input study.
6. What the paper will ask
Primary contrast (protocol v0.2, H1). With encoder, readout, hyperparameter grid, simulation length and per-bar compute held identical, does a reservoir whose recurrent weights are the real MaleCNS v1.0 connectome reach higher out-of-sample directional forecasting skill on a frozen test window than 79 matched nulls in which topology is rewired while each neuron's degree, sign and outgoing weight multiset are preserved?
| Item | Value |
|---|---|
| Endpoint | Balanced accuracy of a trained logistic readout on the 1,314-dimensional DN count vector, predicting the sign of the next executable bar return, computed once on window W3 |
| Test | One-sided rank of the real network against 79 nulls; p = (1 + b) / 80; minimum attainable p = 0.0125; α = 0.05 |
| Status | Draft. Not preregistered, not frozen, not timestamped; no hash externally anchored. Every run so far is exploratory. |
| Freeze | Six-step procedure in §12 of the protocol; not performed |
Two cautions from the internal audit stand in front of that study. First, the confirmatory design carries state across bars, and the only persistent-state evidence (section 2c) says the input gate fails, so as written the study would likely stop at its own gate. Second, its primary arm costs 459–569 CPU-hours depending on the per-round time assumed, and the 29–33 h wall-clock figure assumes unverified linear scaling on 16 processes.
| Seconds per round | CPU-hours |
|---|---|
| 1.2–1.4 (review budget, one observation) | 459–535 |
| 1.34 (measured median) | 512 |
| 1.49 (memory probe, incl. overhead) | 569 |
The earlier study plan proposed a separate interface gate before the primary study: four arms (production and E-bal encoder × reset and persistent state), 400 rounds each, asking whether any encoder lets the DN counts carry the current input when state persists, at about 37 minutes of CPU. That proposed gate is not a completed result. The current development tracks are listed at the top of this page; the study design still needs review of null construction and multiple comparisons.
7. What the literature says
- Damicelli, Hilgetag & Goulas (2022). Across macaque, marmoset and human macroscale connectomes and two memory tasks, connectome reservoirs performed as well as, not better than, random reservoirs, and the variant preserving empirical weight ranking was significantly worse; the closest prior null for this project.
- Costi, Hadjiivanov, Dold, Hale & Izzo (2025). FlyWire subgraphs as echo-state reservoirs had higher training error but lower test error than a random reservoir at ridge β = 10⁻⁶, an overfitting-resistance effect that grows with size, is matched or beaten by the control at β = 10⁻³, and disappears or reverses at spectral radius 0.75, 0.5 and 0.25; any advantage here must be held against that regularisation explanation.
- Shiu et al. (2024). A whole-brain FlyWire LIF model with 0 Hz basal firing and one calibrated parameter (Wsyn = 0.275 mV) drove the MN9 motor neuron in 100/100 simulations with the real wiring versus 1/100 with shuffled weights and matched 91 % of 164 predictions; its sign rule (GABA and glutamate inhibitory; dopamine, octopamine and serotonin excitatory) differs from the one used here.
Nothing read supports an expectation of a market edge, and two of the three papers give concrete mechanisms by which a positive result would be an artefact.
References (APA 7)
- Berg, S., Beckett, I. R., Costa, M., Schlegel, P., Januszewski, M., Marin, E. C., … Jefferis, G. S. X. E. (2026). Sexual dimorphism in the complete Drosophila male central nervous system connectome. Cell, 189(18), 5504–5526.e15. https://doi.org/10.1016/j.cell.2026.08.015
- Costi, L., Hadjiivanov, A., Dold, D., Hale, Z. F., & Izzo, D. (2025). The Drosophila connectome as a computational reservoir for time-series prediction. Biomimetics, 10(5), 341. https://doi.org/10.3390/biomimetics10050341
- Damicelli, F., Hilgetag, C. C., & Goulas, A. (2022). Brain connectivity meets reservoir computing. PLOS Computational Biology, 18(11), e1010639. https://doi.org/10.1371/journal.pcbi.1010639
- Shiu, P. K., Sterne, G. R., Spiller, N., Franconville, R., Sandoval, A., Zhou, J., … Scott, K. (2024). A Drosophila computational brain model reveals sensorimotor processing. Nature, 634(8032), 210–219. https://doi.org/10.1038/s41586-024-07763-9
8. Transmitter-sign provenance
Synapse signs come from the source dataset's neurotransmitter classifier (ResNet50 following Eckstein et al., 2024; argmax over per-synapse scores; 80/20 neuron-level split). The held-out neuron-level confusion matrix is printed only as a figure, Figure S1 panel K of Berg et al. (2026); the values below were transcribed from that raster and are confirmed against the Cell 2026 version of record, re-read cell by cell (neuron-level, held-out test set).
| Ground truth | n | Correct | Recall | Precision |
|---|---|---|---|---|
| acetylcholine | 2,614 | 2,605 | 99.66 % | 99.20 % |
| dopamine | 19 | 19 | 100.00 % | 100.00 % |
| GABA | 647 | 609 | 94.13 % | 99.67 % |
| glutamate | 710 | 702 | 98.87 % | 97.10 % |
| histamine | 214 | 213 | 99.53 % | 95.95 % |
| octopamine | 3 | 3 | 100.00 % | 100.00 % |
| serotonin | 2 | 2 | 100.00 % | 40.00 % |
| Overall | 4,209 | 4,153 | 98.67 % | balanced 98.88 % |
| Caveats carried from the source note: the test set is the held-out 20 % of curated ground-truth neurons, biased toward well-characterised types, so accuracy on the full 164,587-neuron population is not measured; octopamine (n = 3) and serotonin (n = 2) establish nothing and the authors set them to "unclear"; GABA has the weakest recall, with its 38 errors going to acetylcholine and glutamate, so the likeliest sign errors in the weight matrix are inhibitory neurons treated as excitatory. Histamine, the photoreceptor transmitter and this model's only input population, is called correctly for 213 of 214. Transmitter accuracy is not sign accuracy: the transmitter-to-sign mapping is a separate modelling choice (section 5). | ||||
9. How to check us
- Receipts
- Decisions are published as inspectable receipts. The public state is: inspectable receipts, simulated USD ledger, experimental fixed-weight LIF connectome, no real-money execution.
- Archived paper mirror
- ../recorded/live/ — archived observations; not currently updating. Check the capture status for recorded timestamps.
- Recorded snapshot
- ../recorded/live-demo-12/ — the recorded snapshot of the stopped 12-round paper capture.
- Trial registry
- A paper trial registry now exists and is hash-chained: 23 entries, each carrying the protocol, code, data and window-boundary references of the evaluation it records, plus one entry for the amendment decision itself. The chain was verified end to end, and again by an independent reader of the same file. The entry hashes are not published on this page yet.
- Hash chain
- Each research event is chained; the validation run above verified its chain from genesis. The chain tip is not externally timestamped.
- Protocol hash
- Not yet anchored. No hash of the protocol has been externally anchored and it is not registered anywhere; the site's integrity model detects casual edits only and is explicitly not tamper-proof.
- Replay
- Decisions replay bit-exactly from the archived pre-state and stored input on a fresh adapter loaded from the immutable cache (6 of 6 in the validation run; 0 mismatches in the input-study harness).
- Re-analysis
- The memory probe's analysis re-runs offline from its raw per-round file with no simulation and no network; the bias diagnostic ships its code, protocol and cache hashes so the run can be repeated against the same reference.
- Validation-run public export
- The historical six-observation run's JSON rows validated against fly_research_event.v1.1.json; each row's payload hash recomputes; header paths redacted.
What would change this page: a passed persistent-state input gate, a resolved cause for the buy bias, an anchored protocol hash, a public registration, and only then a read of the frozen test window.