Commit graph

486 commits

Author SHA1 Message Date
Meta Vens
ca4ee617ff self-session-live: the pass that closes the briefs goes on to the lifecycle
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 16:41:22 +01:00
Meta Vens
9b19c30ea8 huginn-mind tests: name the outcome type
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 16:37:07 +01:00
Meta Vens
41890e45b3 huginn-mind tests: the refused outcome is matched, not unwrapped
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 16:34:52 +01:00
Meta Vens
be44185c67 self-session-live: a brief is closed Recorded by the result that answers it; the briefs a closed run claimed are closed at session start
Lands the parked closure (eureka-body/self-session-live-closure-parked 13de7f0) on the Recorded outcome of ruling brief-closure-recorded.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 16:32:35 +01:00
Meta Vens
fb0ae7540d huginn-mind: a follow-up closes Recorded{reason}, as a finding and a run do
Ruling eureka-body:ruling:brief-closure-recorded.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 16:30:28 +01:00
Meta Vens
75dcf45f53 self-session-live tests: the hook test claims the spool once
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 16:22:58 +01:00
Meta Vens
4decf9e79c self-session-live tests: a stale spool is wiped at start; the pre-compact block says why
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 16:18:46 +01:00
Meta Vens
94ab5115ba self-session-live: the journal's decision line carries the inputs the decision was made on
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 16:14:07 +01:00
Meta Vens
6d210bd3f2 self-session-live tests: the journal's idle seconds and the wake for a waiting brief
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 16:09:23 +01:00
Meta Vens
a00642524a self-session-live tests: a claimed brief is told once; a raced tell writes nothing
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 15:54:11 +01:00
Meta Vens
b9fdb4900e mind-self-run inject: a binary-level test of the hook; the container-lane test waits for the flush's own result
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 15:21:51 +01:00
Meta Vens
e7097fde2c self-session-live tests: spools in tempfile directories (clippy disallows temp_dir)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 15:04:32 +01:00
Meta Vens
9f5e83e6c1 self-session-live: her Self session stays open across turns; briefs are derived from her mind and told between tool calls
A result ends a turn and marks the session idle; it no longer closes stdin
(decide.rs: Result => CloseStdin deleted). The session ends where its prompt
cache would be evicted (ruling live-session-floor-cache-evicts: the flush is
asked at the last request's TTL less 60 s, stdin closes after the flush's own
result), at an idle rotation deadline under the run cap, mid-turn at the cap's
flush margin, and at the context ceiling. PreCompact blocks auto-compaction
and asks the same flush.

self_run/inbox.rs derives her inbox from the mind (in-force follow-ups with
owner self-run that no closed run claims), spools them, and claims by rename
so the PostToolBatch hook and the actuator's idle tell deliver each once.
mind-self-run inject is the hook. Brief closure is not in this commit: the
mind refuses a Recorded resolution of a follow-up (question admitted).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 15:03:14 +01:00
Meta Vens
ffb379d18d Merge remote-tracking branch 'origin/eureka-body/persona-goals-in-turn' 2026-10-31 14:17:18 +01:00
Meta Vens
b9770565ff persona-goals-in-turn: the follow-up heading appears with follow-ups and only then
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 14:03:14 +01:00
Meta Vens
c33884fe7a minds-wake-each-other: a message from another Mind that names her launches a Mind off the beat, once per message; a Mind naming herself does not
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 13:52:27 +01:00
Meta Vens
62f0894778 persona-goals-in-turn: the junk-token check reads the rulings list, not the item text
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 13:48:55 +01:00
Meta Vens
3c9376db04 persona-goals-in-turn: simplify the follow-up bound; test text-cited rulings, the ruling cap and the follow-up bound
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 13:45:25 +01:00
Meta Vens
f500196200 persona-goals-in-turn: the responsibilities lead the room messages; tests cite admitted sources
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 13:20:38 +01:00
Meta Vens
99725bb410 persona-goals-in-turn: wire the responsibilities section into the turn input
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 13:12:56 +01:00
Meta Vens
90bd20165e persona-goals-in-turn: every Persona turn's input carries her stewardships, open follow-ups and the rulings they cite, from her own mind, bounded to 6 KB
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 13:10:54 +01:00
Meta Vens
e022e533e0 tempo-silence-is-abstention: an unreadable Mind is not counted in the heartbeat trace
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 12:46:04 +01:00
Meta Vens
acee839b4b tempo-silence-is-abstention: the beat is the lower median of cast votes only; a Persona turn admits a Pulse only for a vote, a withdrawal or a nonzero urgency
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 12:41:44 +01:00
Meta Vens
743cbb8b43 self-run-result-in-rationale: pin each run's own rationale and the empty-result sentence (mutation survivors)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 11:39:17 +01:00
Meta Vens
f2e3805020 self-run-result-in-rationale: a Self run's result rides the closure's rationale (3800 B, cut on a character boundary), the reason says how it ended, and her run history shows the rationale
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 11:08:54 +01:00
Meta Vens
b69d02a4ce tests: an urgency in the same receipt as her turn is consumed, not pending (strictly after)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 10:17:08 +01:00
Meta Vens
1e861b578c mind-body tests: the swarm verb round trip releases the brake directly
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 10:05:52 +01:00
Meta Vens
baefb01c38 mind-body: clippy clean at -D warnings (poll iterates its rows, a identity map and the unused Recording::stop go)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 10:02:42 +01:00
Meta Vens
3148dbba43 tests: the withdrawal read test borrows the mind per call
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 09:56:52 +01:00
Meta Vens
18470e4cbd heartbeat: an urgency is consumed by admission order, and every newest read is pinned to one header (urgency-consumed-by-wall-clock, newest-limit-unpinned)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 09:55:27 +01:00
Meta Vens
ec2320443a persona: the reply schema tells the model that omitting the vote leaves it and null only withdraws (null-vote-habit-withdraws)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 09:54:51 +01:00
Meta Vens
5357e9d906 tests: a withdrawal pulse crosses encoding, admission and the read as a withdrawal (withdrawal-wire-unpinned)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 09:54:39 +01:00
Meta Vens
bc59cb9025 Merge remote-tracking branch 'origin/main' into eureka-body/heartbeat-joint-lever 2026-10-31 09:53:14 +01:00
Meta Vens
e5cd9d94e1 Merge eureka-body/self-run-scrub-knob: MIND_SELF_SCRUB=off lets a root-holding Self run use sudo
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 09:50:13 +01:00
Meta Vens
f1e8572ae2 mind-self-run: the scrub variable name is private; the public surface is unchanged
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 09:46:40 +01:00
Meta Vens
b3919f782d mind-self-run: MIND_SELF_SCRUB=off in the unit turns the child's subprocess scrub off; anything else keeps it on
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 09:44:19 +01:00
Meta Vens
e8db03e8a7 persona: mentions.contains (clippy manual_contains on rust 1.95)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 09:34:39 +01:00
Meta Vens
cf790b6142 index: take_search's doc comment back on take_search
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 09:21:42 +01:00
Meta Vens
19e53afe76 Merge main c7cd9ee (start brief) into source search
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 09:21:24 +01:00
Meta Vens
44b3bf5e91 Merge eureka-body/source-search-index-safety (cursor, catalog, retire, CLI e2e; report h3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 09:21:23 +01:00
Meta Vens
98e30de3fb tests: the surface carries the reply's vote key; a withdrawn vote is read on a later beat; an urgency in her turn's second is consumed
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 09:19:37 +01:00
Meta Vens
2f36f63e80 ollama: pin the batch bound's arithmetic (cargo-mutants survivor)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 09:17:55 +01:00
Meta Vens
715ec58180 sources: Refreshed::is_clean decides the exit, where a test reaches it
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 09:10:07 +01:00
Meta Vens
9c13a4291d persona tests: the out-of-bounds replies name their vote 2026-10-31 09:09:39 +01:00
Meta Vens
bc9e75debe schemas: the pulse, request and response schemas re-derived for tempo_vote_withdrawn
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 09:07:01 +01:00
Meta Vens
39decde8a2 embedder: connect bound, a read bound sized to the batch, one budget across retries; tests with endpoints that stall and refuse mid-batch
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 09:05:47 +01:00
Meta Vens
20fb808e7b tempo: an explicit null vote withdraws the standing one; the Pulse says so in its own field and the reply may omit the vote key
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 09:05:26 +01:00
Meta Vens
6a0ab4a7ab live source smoke: follow the Catalog the forge now answers
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 09:00:54 +01:00
Meta Vens
5b920371c5 eureka-state tests: huginn sources end to end through a daemon to a printed citation
The CLI binary asks a real in-process daemon over CultNet; the daemon answers
through sources::search against an in-memory source index and a flat embedder.
Pins the citation line, the repo filter and limit, and the refusal naming both
models when the daemon embeds under another digest (Soul test-gaps). common
serve takes any index sink.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 08:59:16 +01:00
Meta Vens
e47532c122 sources: a retire error skips that repo; a case-only rename keeps no stale points
Retirement aborted the run on the first repo whose delete failed; it now logs,
names the repo in Refreshed.failed and goes on, leaving that repo's cursor and
mirror to be found again. Names are compared as written, so a repo the forge
now spells in another case is retired under its old spelling instead of kept by
a case-insensitive match while its points carried the old name (Soul
retire-edge-cases).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 08:58:19 +01:00