Sleep's surface, watched: the bout is the circuit's, the rhythm is the animal's - #212
Merged
Merged
Conversation
…e animal's A new instrument (tools/sleep_surface.py) does the thing nobody had done since the homeostat landed: watch the animal simply live with it, ten undisturbed minutes per seed, on two plates. The reading splits cleanly. Bout DURATION belongs to the circuit: 46 s, which is tau_sleep * ln(0.69/0.25) almost exactly -- the discharge is the bout. Bout TIMING belongs to the ecology: on the dense lawn the intervals run from metronomic (a seed parked on food, 32.8 +- 0.4 s) to 114 +- 114 s (a seed wandering off the lawn edge and stalling its own pressure build), and on the default plate sleep is a rare late event -- 7-8 minutes to first onset, because dopamine only builds while the roamer happens to feed. That variance is foraging, not an injected noise term, which is the lifelike way to come by it. Both effectors show on every bout (pump 1.3-2.6 Hz awake against ~0.4 asleep, speed to a third), and the depth curve rides each one (peak FLP-11 0.86-0.89). What the model still lacks against You 2008 is variance in bout durations -- the discharge constant fixes them -- and the record says where that should come from if it ever matters: satiety reaching tau_sleep, not a noise dial. The run also caught something sleep-unrelated: a default-plate roamer pushed through the dish rim's 0.05 mm repulsion zone and diverged at 118 s. Filed as #211 with the geometry; the instrument now reports a dish-leaver as a finding instead of dying on it. Closes #197. 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 27, 2026 02:25
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.
Closes #197.
What
A new instrument,
tools/sleep_surface.py, does the thing nobody had done since the homeostat landed: watch the animal simply live with it — ten undisturbed minutes per seed, two plates (the default plate is the ecology; the pharynx fixture's dense lawn is the incubator where bout statistics accumulate).The record (600 s × seeds 0/1/2 per plate)
The reading
tau_sleep · ln(0.69/0.25)almost exactly — the discharge is the bout.tau_sleep, not a noise dial.Bycatch
A default-plate roamer pushed through the dish rim's 0.05 mm repulsion zone and diverged at 118 s — filed as #211 with the geometry. The instrument now reports a dish-leaver as a finding instead of dying on it.
No model change; one new instrument, its record, and the NEXT.md sleep item flipped from "unmeasured" to measured.
🤖 Generated with Claude Code
https://claude.ai/code/session_01CBroMXcYdfkyb5buJPcKvL
Generated by Claude Code