Skip to content

The worm remembers where it was fed; the route into behaviour is measured and waits - #216

Merged
YesterdaysLemon merged 1 commit into
mainfrom
claude/repo-overview-directions-t7gut2
Aug 27, 2026
Merged

YesterdaysLemon merged 1 commit into
mainfrom
claude/repo-overview-directions-t7gut2

Conversation

@YesterdaysLemon

Copy link
Copy Markdown
Owner

Closes #198.

The memory

cultivation_temp stops being a declaration. Senses.t_setpoint is an on-food-weighted slow average of experienced temperature — dopamine-gated like the sleep homeostat's build, exact first-order (step-size independent), tau ≈ 2 sim-minutes at the dense lawn's dopamine, the same clock compression the whole dish runs on (Hedgecock & Russell 1975; Mori & Ohshima 1995 — the existence of the memory is solid biology; the rule is modelled; the rate is the dish's).

Measured: a feeding animal walked its setpoint 20.000 → 19.729 °C in three minutes, tracking what it actually experienced. A fasting animal keeps the declared value to the bit.

The off-state test earned its keep the day it was written

The first cut learned on any positive dopamine — and a fasting animal quietly wrote its own memory, because the mechanosensory dopamine level idles at 0.029 (max 0.045) on bare agar, never zero. "Fed" is now a threshold (0.08 — measured above the off-food ceiling, below the sparsest lawn's 0.10), and below it the setpoint is frozen exactly.

The routing: refused on evidence, not caution

Four measurements in tools/thermo_memory.py:

  1. Signed tonic (T − setpoint) into AFD, gain +5: histories separate (−1.18 °C — the signature no fixed mechanism can fake!) but away from home — AFD excitation steers this connectome warm-ward.
  2. The mirror sign: noise.
  3. Rectified cold-side: noise (and the cold arm is control-identical by construction).
  4. The primitive: a constant current held into AFD (−20…+40 pA, 200 s) leaves end temperature flat (20.4–21.1, n=8/level). AFD steers through its transient, phase-locked with the animal's own movement; a standing offset carries no phase information a klinotaxis can use.

The recorded follow-up is the biology's own answer: the setpoint must condition the differential — warming is good below home, bad above — and that redesign wants its own paired gate. Until it wins one, thermo_setpoint_gain ships at 0.0, pinned in RUNTIME_UNSUPPORTED, and the memory ships live: learning, costing nothing, waiting for a route that works.

Bookkeeping

New behaviour test (fed learns / fasting frozen-to-the-bit) registered in CI targets; every determinism pin held; NEXT.md roster updated. No runtime port needed — nothing behavioural changed at the shipped gain.

🤖 Generated with Claude Code

https://claude.ai/code/session_01CBroMXcYdfkyb5buJPcKvL


Generated by Claude Code

…ured and waits

Thermotaxis memory (issue #198): the cultivation temperature stops being a
declaration and becomes an experience. Senses.t_setpoint is an
on-food-weighted slow average of experienced temperature -- dopamine-gated
like the sleep homeostat's build, exact first-order so it does not depend
on the step size, tau about two sim-minutes at the dense lawn's dopamine
(the same clock compression the rest of the dish runs on). Measured: a
feeding animal walked its setpoint 20.000 -> 19.729 C in three minutes,
tracking what it actually experienced; a fasting animal keeps the declared
value to the bit.

The off-state test earned its keep the day it was written. The first cut
learned on any positive dopamine, and a fasting animal quietly wrote its
own memory -- the mechanosensory dopamine level idles at 0.029 on bare
agar, never zero. "Fed" is now a threshold (0.08, measured above the
off-food ceiling and below the sparsest lawn), and below it the setpoint
is frozen exactly.

The route into behaviour is refused for now, on evidence rather than
caution. Four measurements (tools/thermo_memory.py): the signed tonic into
AFD separates cultivation histories robustly and AWAY from home; its
mirror and the rectified cold-side form are noise; and the primitive
itself is flat -- a constant current held into AFD, -20 to +40 pA for
200 s, leaves end temperature unmoved on the gradient. AFD steers through
its transient, phase-locked with the animal's own movement; a standing
offset carries no phase information a klinotaxis can use. The recorded
follow-up is the biology's own answer: the setpoint must CONDITION the
differential -- warming is good below home and bad above it -- and that
redesign wants its own paired gate. Until it wins one,
thermo_setpoint_gain ships at 0.0, pinned in the runtime registry, and
the memory ships live: learning, costing nothing, waiting for a route
that works.

Closes #198.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CBroMXcYdfkyb5buJPcKvL
@YesterdaysLemon
YesterdaysLemon marked this pull request as ready for review August 27, 2026 22:09
@YesterdaysLemon
YesterdaysLemon merged commit 586c7d9 into main Aug 27, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Thermotaxis memory: the cultivation temperature should be learned, not declared

2 participants