Commit graph

660 commits

Author SHA1 Message Date
Meta Vens
354af5a192 wip6 2026-11-01 12:04:15 +01:00
Meta Vens
08a6959195 wip5 2026-11-01 12:02:56 +01:00
Meta Vens
7ffddd8673 wip4 2026-11-01 11:59:16 +01:00
Meta Vens
93a6f2d2e9 wip3 2026-11-01 11:58:43 +01:00
Meta Vens
cfbe183468 wip2 2026-11-01 11:56:42 +01:00
Meta Vens
ee0bf1201d wip persona-session (local, does not build tests) 2026-11-01 11:54:25 +01:00
Meta Vens
1e708210be Live sessions map: cut 6 persona-session mapped (r1), probes P1-P9, rows 6b and 6c
Imagination pass imag-persona-session, 2026-11-01; spec eureka-body:cut_spec:cut-persona-session.r1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-01 11:43:42 +01:00
Meta Vens
99b5256323 tempo tests: a vote under the 60 s floor carries the floor's rate (kills the high-limit mutant)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 06:41:25 +01:00
Meta Vens
9003624c3e queue test: the held items are a set, open holds first
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 06:23:13 +01:00
Meta Vens
79e4cac5fd blocked selects the held questions by key alone; the retire test pins which run's claims an answer retires
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 06:20:11 +01:00
Meta Vens
b26a3a6cfd docs/research: tempo PID against the swarm's measured throughput ceiling
Heartbeat poll and Persona turn durations measured on Yggdrasil, the busy
report, the dt cap, what the vote release does and does not promise, the
rerun table (27th by rank), and the crossing bound stated by the rows it
admits.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 06:16:02 +01:00
Meta Vens
4592836bcc tempo sim: a stress scenario against a binding ceiling, compared with the controller not told
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 06:10:59 +01:00
Meta Vens
29fa45e501 tempo sim: the busy report stays up until a launch comes on time
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 06:06:05 +01:00
Meta Vens
5556c902b4 tempo: the controller is told when the actuator is saturated, and one call integrates at most one longest beat
Conditional integration takes the caller's single saturation report (the
last beat was the floor, or launched nothing because every eligible Mind
was busy) instead of estimating the high limit from its own output; the
slow limit is judged on the integral's own answer, so the vote carry no
longer masks it. A call after a long silence integrates MAX_STEP_MS, not
the outage. The sim gains the swarm's throughput ceiling: per-Mind busy
time from the measured turn duration, a beat that finds every Mind busy
launches nothing, and the controller is told; scenarios cheap-then-x3 and
one-slow-mind exercise it; the band-crossing bound is per scenario.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 06:03:58 +01:00
Meta Vens
fa5c65c6f4 cli test: the hold of spec B is its own run's question and not A's
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 05:43:30 +01:00
Meta Vens
b1f0654f54 tests: blocked tells a second run's question from the first; a free brief writes no closing note
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 05:42:47 +01:00
Meta Vens
0e7b044d61 mind-body: the public surface spells the hold snapshot; holds and retire_answered stay crate-private
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 04:18:18 +01:00
Meta Vens
4c217faf22 queue tests: drop a merged duplicate of the daemon-port test body; slice the one claim
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 04:14:03 +01:00
Meta Vens
532855d21a queue, launch tests: read the hold through the snapshot the tests build
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 04:12:34 +01:00
Meta Vens
3e48e122af hold: one decider of what a question holds, read once per launch; a dead Self holder no longer stalls the successor; retire is read
s5 findings of cut-self-session-live:
- blocked-recipe-misses-run-held-spec: eureka_state::hold is the one decider
  (a question holds the item it is raised in, or every claim of the run it is
  raised in; an answer of retire keeps holding the claims still in force).
  queue::on_hold and `huginn blocked` both read it.
- hold-read-not-one-snapshot: on_hold returns a Held snapshot that the request
  carries; claimable, queue and the gate read it, none reads it again.
- dead-self-holder-stalls-successor: launch::slot is the one reader of whether
  a holder lives; claimable asks it, a dead holder is closed by the launch and
  the beat's trace says so.
- retire-answer-reopens: launch::retire_answered resolves the claims of an
  answered-retire question Withdrawn; the beat runs it before reading briefs.
- held-note-threshold-unpinned: a test pins the note for exactly one held brief.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 04:11:38 +01:00
Meta Vens
668db6cc0a tempo tests: kill the horizon, window-start, jitter-boundary, expiry-instant and carry-winding survivors
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 03:59:26 +01:00
Meta Vens
35d4417429 docs/research: tempo PID rerun sweep, the vote cases and the vote carry
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 03:17:06 +01:00
Meta Vens
fe84c9fe06 mind-body: public surface snapshot names Fallback.carry_per_h
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 03:15:59 +01:00
Meta Vens
b2ac7abcf4 tempo: a new window integrates nothing on the call that finds it; oscillation bound 3 for the 60 s vote case; tests use readings fresh enough to steer
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 03:13:31 +01:00
Meta Vens
ae937d1430 tempo: a reading older than twice the longest beat is no evidence (holds the last beat); integrate per call again
Replaces the integrate-only-on-advance step: it changed the sampling the gains were tuned against for no gain over an age horizon, and left a replayed reading steering for as long as its age stayed inside it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 03:11:46 +01:00
Meta Vens
98ac63bba8 tempo tests: fresh readings where the step needs them, vote release asserted where it can be; sweep prints band crossings per scenario
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 03:09:40 +01:00
Meta Vens
9faeb94035 queue, heartbeat tests: a question in another item's run is no boundary; no held brief, no held note
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 02:55:43 +01:00
Meta Vens
ee11da0ece tempo sim: vote cases at 60 s (1 h, 4 h, 24 h), 300 s, 7200 s and 86400 s; final tolerance back to 30 permille
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 02:51:06 +01:00
Meta Vens
05345a855f tempo: a vote carries a fading offset, not an integral; integrate only on advanced readings; window identity within a minute
The integral no longer back-calculates to the voted rate (unbounded, it parked
the controller near the vote's burn after release): nothing integrates while
voted, and the gap between the voted rate (inside the beat bounds) and the
controller's own answer is a carry that fades over a poll period after
release. A reading whose observed_at has not advanced is not evidence: the
integral steps only on an advanced reading, at most one longest beat. Two
resets_at within a minute are one window.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 02:51:06 +01:00
Meta Vens
5a6b458c57 mind-body: public surface spells the Trip variant as the tool prints it; a new brief's own empty runs are not the five's
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 02:31:43 +01:00
Meta Vens
fdf4eb7738 launch: build the trip question's text from a &str
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 02:27:59 +01:00
Meta Vens
8011516198 launch, heartbeat: fix the trip question's text type and an unused import
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 02:27:11 +01:00
Meta Vens
345c61eb1b heartbeat tests: one question per cause, an answer or withdrawal reopens the bundle, a hold reaches only its claims
Replaces the Mind-wide fresh-brief-waits test with the scenarios of the
run-scoped hold; fail_bundle and beats stay.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 02:09:49 +01:00
Meta Vens
1b19180555 queue: one owner of the hold; a trip belongs to the run whose end tripped it and its question holds that run's claims
Cut claimable's Mind-wide stop on any follow-up question and queue's inline
blocked loop. queue::on_hold is the one reader of what an in-force question
holds (a question raised in a run holds that run's claims, anything else holds
itself); queue, inbox::derive and the open_and_launch gate read it.
Breaker::Trip names the newest ended counted run; the breaker question is
raised in that run; the boundary is the newest of a question raised in the item
and a run claiming it that a question is raised in, so an answer or withdrawal
gives every claim of the run a fresh count. The trip and the held-brief wait
are written to the heartbeat trace.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 02:09:49 +01:00
Meta Vens
f21e306a33 tempo tests: fallback_beat is control with GAINS; a window ending now is expired
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 01:59:50 +01:00
Meta Vens
aecfab1d7c docs/research: tempo fallback PID plant, sweep and chosen gains
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 01:55:53 +01:00
Meta Vens
a40be6201b tempo: rustfmt the new code, LF endings as the base has them
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 01:46:10 +01:00
Meta Vens
94b707fab1 tempo: public surface snapshot names the fallback controller; clippy
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 01:43:32 +01:00
Meta Vens
6adf290297 tempo: GAINS kp 0.02 ki 0.01 kd 0 from the sweep; sim bounds
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 01:41:53 +01:00
Meta Vens
e78e38c179 tempo sim: unreachable is judged on the last day; wider grid
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 01:40:23 +01:00
Meta Vens
534fb1d617 tempo sim: stop before the reset step; vote test pins the release, not the tracked integral
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 01:38:55 +01:00
Meta Vens
709813cb9a tempo: fallback PID as one pure controller, its plant and tests
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 01:37:10 +01:00
Meta Vens
2fb2608249 heartbeat: a successor trip is the Mind's stop, one question per cause, not one per brief
A Self run claims up to 64 briefs and each empty run counts against all of
them, so one cause tripped the briefs in turn, one question per brief per beat.
claimable now returns nothing while a question is open in any follow-up of the
Mind; the answer reopens the briefs with a fresh count.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 01:20:28 +01:00
Meta Vens
d1e3e1dbec heartbeat tests: a Self run leaves her Persona idle, a Persona turn marks her busy (mutants)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 21:35:36 +01:00
Meta Vens
41431a4dfd heartbeat: the beat gives a Self run to a Mind whose Self holds briefs; an open breaker question blocks its brief
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 21:08:39 +01:00
Meta Vens
55484c02ef self-session-live: public surface drops impl Brief
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 21:02:06 +01:00
Meta Vens
f23c2c42ce self-session-live: tests start from an echoed start message; the public surface drops inbox::close
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 20:56:47 +01:00
Meta Vens
f9a43850c0 self-session-live: record the three-queued merge and the one-outstanding serialized streams against the real CLI; replay counts writes
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 20:52:01 +01:00
Meta Vens
9ad80a1b72 self-session-live: one stdin write outstanding, coalesced; an idle end closes no brief; a brief is decided by admission provenance; synthetic assistant lines are no request; decide's dead Tells guard and clock deleted; window margin asserted
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 20:42:34 +01:00
Meta Vens
9ac2cb3b79 Merge remote-tracking branch 'origin/main' into eureka-body/self-session-live-h4 2026-10-31 20:34:08 +01:00