Turn depth was not the taxis bottleneck: the promise measured at power, and refuted - #218
Merged
Merged
Conversation
…r, and refuted The standing diagnosis said taxis outcomes were small because the turn was shallow, and clearing the ceiling (#215) was supposed to re-open them. A new runner (tools/chemo_power.py -- every trial completes, cached to a resumable JSONL instead of dying to the pooled batch timeout that left the compare batteries at 4 paired animals of 16) measured the promise on all sixteen paired seeds: no effect on any chemotaxis metric, point estimates leaning worse, CI -0.045 [-0.154, +0.034]. The n=4 "trending better" was the noise its own MDE line warned about. The deep turn stays -- it was adopted on fit-maintenance grounds that stand -- but the taxis-magnitude hunt moves: conditioning was weak even before (pirouette down/up ratio 1.41 against the strong modulation of real worms) and reads 0.79 on the deep-turn animal, so the next questions are whether deep omegas contaminate the mechanical reversal detector (the estimator lesson, a third time) and how strongly dC/dt actually gates the pirouette machinery. Also in this stretch: the scorecard freshness workflow made its first autonomous commit to main after the PYTHONPATH fix (#217) -- the emitted table now measures the post-PVD, deep-turn animal, the buffer ghost row is gone, and peak curvature shows the sharper omega (14.5 /mm against the animal's 9.8, worth an eye). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CBroMXcYdfkyb5buJPcKvL
YesterdaysLemon
marked this pull request as ready for review
August 28, 2026 21:57
YesterdaysLemon
added a commit
that referenced
this pull request
Sep 24, 2026
… the circuit never conditioned (#219) The #218 epilogue asked whether the deep-turn animal's pirouette flip (1.41 -> 0.79) was the mechanical reversal detector or the animal. tools/pirouette_audit.py re-ran the same 32 paired trials (reproduction exact: CI 0.026/0.072, reversals 8.94/7.19, onset sets identical) recording the command gate and omega amplitude, and matched every mechanical onset to the backward command behind it. The detector. The circuit's own up-gradient command rate held (3.65 -> 3.51/min); the model's ~0.35 s commands mostly vanish into the detector's 1 s boxcar, and the longer omega made more of them visible (35% -> 59%) by sliding the body tail-first after them. 88% of the up-rate rise is onsets that arrive after the command is over. The flip never cleared noise (paired contrast -1.46 [-3.36, +0.03]), and on command onsets neither circuit conditions detectably: 0.98 [0.77, 1.27] and 1.15 [0.95, 1.40]. The omega backs the body up. Cloned at each command's end and run on with and without the omega (same state, same noise), the turn adds +0.88 s [+0.56, +1.22] of uncommanded tail-first sliding along the body's own arc per command, dose-dependent. A real omega is a forward manoeuvre; NEXT.md carries it as a defect. Infrastructure: run_trial gains `extra` readout columns (additive only) and _chemo_job's scoring is split into _chemo_score/_chemo_placement so an audit can score by exactly the shipped definition. assays.reversals keeps its definition and gains the caveat. Claude-Session: https://claude.ai/code/session_012h2LYe7qYrwKN3DC2193FW Co-authored-by: Claude <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.
The epilogue to #196, and the most useful null of the campaign.
The promise, measured properly
The standing diagnosis said taxis outcomes were small because the turn was shallow; clearing the turn-depth ceiling (#215) was supposed to re-open them.
tools/chemo_power.pymeasured that promise at power — 16/16 paired seeds, every trial completing (the runner caches each finished trial to a resumable JSONL instead of losing most of the batch to the pooled timeout, which is why the compare batteries only ever had 4 paired animals):Refuted. The deep turn does not improve chemotaxis; the n=4 "trending better" was the noise its own MDE line warned about. The deep turn stays — #215 was adopted on fit-maintenance grounds (the animal's own ~35% deep-turn fraction) that stand regardless.
Where the bottleneck actually lives
Conditioning was weak even before (ratio 1.41 against the strong modulation of Pierce-Shimomura's worms), and the deep-turn animal's up-gradient reversal rate doubled (1.82 → 3.44/min), flipping the ratio to 0.79. Two candidate explanations to separate first: deep omega excursions contaminating the mechanical reversal detector (the estimator lesson, a third time), or genuine dilution of conditioning by sensory-independent reorientation. Either way, the chemotaxis-magnitude hunt is now about the sensory-to-turn coupling — how strongly dC/dt gates the pirouette machinery — not the turn itself. NEXT.md's taxis item carries the redirect.
Also in this stretch
The scorecard freshness workflow made its first autonomous commit to main after the PYTHONPATH fix (#217): the emitted table now measures the post-PVD, deep-turn animal — the buffer ghost row is gone (per-seed 0.85s, wavelength ±0.01 where it was ±2.40), and peak curvature shows the sharper omega (14.5/mm vs the animal's 9.8 — worth an eye).
🤖 Generated with Claude Code
https://claude.ai/code/session_01CBroMXcYdfkyb5buJPcKvL
Generated by Claude Code