Correct five false public claims, and measure the attitude damper - #6
Merged
Conversation
Four independent hostile reviews of the public surface — connectomics, RL, graphics, community — all returned publish-with-fixes and found five statements that were false. The engineering and the science held up; the risk was concentrated in about six sentences. THE LANDING PAGE NEVER GOT THE CLEANUP. index.html still said a command neuron "named DNa01 in the brain is the same cell as DNa01 in the spinal cord" and that the path is "wire for wire from the real animal", with "nothing learned or scripted". All three are contradicted by this repo's own LIMITATIONS §5: FlyWire is a female FAFB brain and MANC a male VNC, no wire crosses the boundary at all, and what does cross is a rolling firing rate averaged over the DN's L+R copies, scaled by a hand-chosen constant, written as a constant external current. A scalar, not spikes. That page has the widest readership and is the Space's app_file. THE KENYON-CELL CLAIM WAS CIRCULAR. README and LIMITATIONS presented KC sparsity landing in the canonical 5-15% band as the strongest dynamics claim. src/sim.ts says w_syn was "tuned EMPIRICALLY ... to land KC at the canonical 5-15%". The one free synaptic weight was fitted to produce the number then reported as agreement with Shiu et al. 2024, and none of "w_syn", "tuned" or "0.275" appeared in any public document. It is now stated as a calibration target rather than a validation: what it shows is that a w_syn exists putting the network in a plausible regime rather than silent or saturated. THE WORD "alone" WAS FALSE, INCLUDING IN THE DOI RECORD. Five places claimed the trained policy walks "from leg actuation and ground reaction alone" with the kinematic assist off. The pitch/roll damper sits ABOVE the assist's guard in step(), so it runs regardless — and no uprightness figure this project has ever recorded was damper-free, because the damper has been on unconditionally for its whole life. So it is now gated behind Physics.attitudeDamperEnabled and measured. Trained policy, assist off, 3 reps each: damper ON (as shipped) 2.019 cm/sim s uprightness +0.997 damper OFF 0.068 cm/sim s uprightness -0.87 Commanded speed 2.0 cm/s. With the damper off the fly capsizes and stops walking — 0.068 is nearer the 0.032 of a body with no controller at all than the commanded 2.0. Translation is earned: with the assist off nothing writes qvel[0..2], so the forward motion genuinely comes from leg actuation and ground reaction. Attitude is not. The docs now keep those two halves apart instead of collapsing them into one sentence. PROVENANCE AND ATTRIBUTION. space/README.md listed the flybody body model and the trained walking policy under one licence when NOTICE gives them different provenance, omitted MANC's licence, and pointed at NOTICE and LIMITATIONS.md — neither of which deploy:hf uploaded. Both pointers were dead and shipping the mujoco wasm without NOTICE does not satisfy Apache-2.0 §4(d). deploy:hf now ships NOTICE, LICENSE, LICENSE-FLYBODY and LIMITATIONS.md. Also scoped the rhythm negative result to "our deafferented LIF model of MANC" rather than to the connectome — a memoryless LIF network with no adaptation, delays or sensory feedback structurally cannot half-centre oscillate, so the unscoped version is what a referee would reject. Added the deafferented cord (all 6,282 sensory neurons at zero) to the §8 inventory, where it was missing. e2e 34/34, unit 5/5, tsc clean. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Four independent hostile reviews of the public surface — connectomics, RL, graphics, community — all returned publish-with-fixes and found five false statements. The engineering and the science held up; the risk was about six sentences.
The landing page never got the cleanup
index.htmlstill said a command neuron "named DNa01 in the brain is the same cell as DNa01 in the spinal cord" and that the path is "wire for wire from the real animal" with "nothing learned or scripted".All three are contradicted by this repo's own LIMITATIONS §5: FlyWire is a female FAFB brain, MANC a male VNC; no wire crosses the boundary at all; and what does cross is a rolling firing rate averaged over the DN's L+R copies, scaled by a hand-chosen constant, written as constant external current. A scalar, not spikes.
That page has the widest readership and is the Space's
app_file— the exact sentence class removed from README three days ago, still sitting where everyone lands.The Kenyon-cell claim was circular
README and LIMITATIONS presented KC sparsity in the canonical 5–15% band as the strongest dynamics claim.
src/sim.tssaysw_synwas "tuned EMPIRICALLY … to land KC at the canonical 5-15%". The one free synaptic weight was fitted to produce the number then reported as agreement with Shiu et al. 2024 — andw_syn,tunedand0.275appeared in none of the seven public documents.Now stated as a calibration target, not a validation: what it shows is that a
w_synexists putting the network in a plausible regime rather than silent or saturated."alone" was false — including in the DOI record
Five places claimed the policy walks "from leg actuation and ground reaction alone" with the kinematic assist off. The pitch/roll damper sits above the assist's guard in
step(), so it runs regardless — and no uprightness figure this project has ever recorded was damper-free, because the damper has been on unconditionally for its entire life.It is now gated behind
Physics.attitudeDamperEnabledand measured. Trained policy, assist off, 3 reps each:Commanded speed 2.0 cm/s. With the damper off the fly capsizes and stops walking — 0.068 is nearer the 0.032 of a body with no controller at all than the commanded 2.0.
Translation is earned: with the assist off nothing writes
qvel[0..2], so the forward motion genuinely comes from leg actuation and ground reaction. Attitude is not. The docs keep those halves apart now instead of collapsing them into one sentence.Provenance and attribution
space/README.mdlisted the flybody body model and the trained walking policy under one licence whenNOTICEgives them different provenance, omitted MANC's licence, and pointed atNOTICEandLIMITATIONS.md— neither of whichdeploy:hfuploaded. Both pointers were dead, and shipping the mujoco wasm withoutNOTICEdoesn't satisfy Apache-2.0 §4(d).deploy:hfnow ships all four.Also
Scoped the rhythm negative result to "our deafferented LIF model of MANC" rather than to the connectome — a memoryless LIF network with no adaptation, delays or sensory feedback structurally cannot half-centre oscillate, so the unscoped version is what a referee would reject. This strengthens the claim rather than retreating from it. Added the deafferented cord (all 6,282 sensory neurons at zero) to the §8 inventory, where it was missing.
Known, not fixed here
The shipped
public/vnc.binwas not built by the committedbuild_vnc.py— 580 of 709 motor neurons are signed inhibitory despite the script's NMJ exception, 1,165 carry a sign its confidence gate forbids, andnt_confcontains NaNs the script'sfillnamakes impossible. Magnitude is small (~0.36% of edges, ~0.12% of |w|; the premotor matrix is bit-identical either way) so this is provenance, not dynamics — but rebuilding fromtools/is the first thing a reviewer does. Needsdata/manc, which isn't in this checkout:download_manc.sh→build_vnc.py→write_manifest.py→upload_to_r2.sh.tscclean · unit 5/5 · e2e 34/34.🤖 Generated with Claude Code