The method

This page says by what means a FlyPool decision can be verified, and how far that verification reaches. It also records what we failed to establish: a method that published only its successes would not be a method.

Determinism

Same inputs, same spikes, bit for bit

The simulation is a pure function: snapshot, seed and protocol fully determine the spike trains. That imposes constraints which the code enforces itself rather than merely recommending.

Constraint Why it is necessary
Frozen snapshot, checked by digest Upstream data that shifts destroys reproducibility. No remote query during an epoch.
No implicit source of entropy No clock, no randomised hash(), no iteration over a set. The only randomness comes from a generator whose seed is published.
Fixed summation order Floating-point addition is not associative. Neurons are indexed by ascending identifier, everywhere, without exception.
Multithreading disabled A multithreaded linear-algebra library reorders summations and changes the last bit. The environment is audited before every epoch; if it is not compliant, the epoch is refused.

Prior commitment

Why the seed is published before, not after

Without a prior commitment, an operator could replay the same epoch with different seeds until it produced the convenient action, then publish only that one. The simulation would be genuine and the decision rigged.

The digest of the seed and that of the stimulation protocol are therefore anchored on-chain before the simulation runs. The seed is revealed only afterwards. The contract recomputes the commitment itself and rejects any submission whose seed does not match.

Choosing the seed after seeing the result is choosing the result.

The constants

What comes from measurement, what comes from us

This is the most important distinction in the project, and the easiest to blur. The neuron model's constants come from published measurements. The state variables and the translation into an action are ours. Both are archived with every decision, separately.

Quantity Origin Source
Resting potential, threshold, membrane time constant Published measurement Kakaria & de Bivort (2017)
Synaptic time constant Published measurement Jurgensen et al. (2021)
Refractory period Published measurement Lazar et al. (2021)
Transmission delay Published measurement Paul et al. (2015)
Weight of a unitary synapse Free parameter of the model Calibrated by Shiu et al. (2024)
Half-life of defensive arousal Our tuning Shape of the phenomenon after Gibson et al. (2015)
Hunger rate, sensory gain Our tuning Shape of the phenomenon after Inagaki et al. (2012)
Arena dimensions, source spawning Our tuning None: this is an environment, not a biological fact
Mapping from activity to on-chain action Our convention None. Biology determines the input, not the decision

The circuits

Derived by query, never copied by hand

A circuit is not a hand-copied list of neuron identifiers. It is a query against the connectome's cell-type annotation table, re-runnable, whose digest is archived alongside the selection. A copied list is unverifiable and goes stale silently from one release of the dataset to the next, we learned this on discovering that a neuron from the published protocol had disappeared between two materializations.

Circuit Stimulated input Measured readout Verified range Status
Feeding 129 sugar/water gustatory neurons 2 MN9 motor neurons 0-60 Hz Validated
Escape 210 LPLC2 looming detectors 2 DNp01, the giant fiber 0-200 Hz Provisional
Grooming 187 mechanosensory neurons 2 DNg84 0-200 Hz Provisional
Foraging 2,279 olfactory receptor neurons 2 DNp09 Not established Unusable

Validated means: reproduces the properties of a published result. Provisional means: derived from annotations and supported by experimental publications, but never checked against a published simulation result. The status is not decorative, the code forbids a provisional circuit from deciding unless explicitly enabled, and then caps it at a quarter of the normal ceiling.

What contradicted an expectation

Three measurements we would rather not have published

The quantitative calibration is not reproduced. The paper reports that stimulation at 100 Hz produces roughly 80 % of the motor neuron's maximal firing rate. We measure 50 %. The cause is identified: the published protocol stimulates 21 neurons from a single hemisphere, while the full annotated population contains 129. We reproduce the shape of the response, not its calibration.

The grooming command neuron does not respond. DNg12, which the literature designates for this behaviour, fires at no frequency between 10 and 200 Hz under stimulation of the relevant mechanosensory neurons. This pathway is not transmitted by the model. We therefore measure DNg84, which the stimulation does recruit, a descending neuron, hence a legitimate output pathway, but not a validated correlate of grooming.

The foraging circuit overdrives the network. Stimulating all 2,279 olfactory receptor neurons activates 7.5 to 8.3 % of the brain from 10 Hz onwards, far past the containment threshold the other circuits respect, and the readout neuron stays silent. The circuit therefore has no operating range, and the action it corresponds to remains unreachable.

Limits

What the model does not do

A single individual The connectome is that of one adult female fly, taken post-mortem. It is not "the" average fly, and it is not a living animal.
Central brain only The ventral nerve cord, which carries much of motor control, is excluded.
No plasticity Synaptic weights are frozen. The fly does not learn and does not improve.
No neuromodulation Dopamine, octopamine and neuropeptides are absent from the model. Our hunger and arousal gauges are variables layered on top.
Approximated synaptic strengths A connection's weight is its synapse count. The connectome does not measure the real strength of a synapse.

Redo the computation

Replaying a decision on your own machine

Every epoch is archived with the revealed seed, the protocol used, the prior internal state, and the digests produced. The replay command reloads the snapshot, checks its digest, redoes the simulation and compares.

It first verifies that the record matches its own digest: without that check, the displayed amount could be altered with nothing to flag it. A check with no archived reference is reported as absent, not counted as passed, a verification tool that contradicts itself is worse than no tool at all.

A decision that does not reproduce is a decision that was falsified.