Commit graph

519 commits

Author SHA1 Message Date
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
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
Meta Vens
4e3fefbc17 decide tests: drop the constant assert the ladder pin made redundant
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 20:10:31 +01:00
Meta Vens
4d174dfad6 self-session-live: State::started no longer sets the clock decide sets on every event; a claimed brief is named once (mutants)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 20:05:12 +01:00
Meta Vens
53d2b90a94 decide tests: pin the ladder allowance the cap clamp depends on (mutants on LADDER_S survived)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 20:02:05 +01:00
Meta Vens
069969020a tests pin the lane budgets, the rulings' room beside full open lists, and the people a shown memory names; recall drops an unreachable counter (mutants triage)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 20:00:16 +01:00
Meta Vens
b989e03864 decide tests: the rotation margin arithmetic is a compile-time assertion in self_run.rs, not a runtime one
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 19:48:35 +01:00
Meta Vens
c00cc24cc6 persona: open commitments and asks in front of her every turn, a wake included; the people she may name; origin from the batch; Config.minds / MIND_PERSONA_MINDS (persona.rs, bins, public surface, tests)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 19:44:06 +01:00
Meta Vens
688b221213 recall: three lanes, none showing an open item; salience and recency rank; every lane counts what it leaves out; one memory_line says where and from whom (recall.rs, testkit)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 19:44:06 +01:00
Meta Vens
3829625067 memory: a Direct origin names whom she heard it in confidence from; MemoryOrigin is bounded and tested (eureka-pipeline)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 19:44:01 +01:00
Meta Vens
8e97d60d1e body map: delivery is counted by replay echo; the env scrub forces default permission mode
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 19:39:26 +01:00
Meta Vens
780366f59a self-session-live: one stdin writer; the replay echo is the consumption point; no hooks, no spool, no CLI compaction
Deletes first: the PostToolBatch and PreCompact hooks, --settings, the inject subcommand, the on-disk spool and its rename claim, close_past as a standing rule, close_told and the result-timed brief closure, Event::Told/PreCompact, Action::CloseBriefs, FLUSH_MARGIN_S.

Then: drive is the only writer into her session (start, tells, flush). decide counts lines written and lines echoed (--replay-user-messages) and derives idle from them; the flush is answered at the first result after its echo, folded or queued; an error before any answer or a blocked result closes at once; rotation and the idle cache end ask the same flush with a why; the grace is clamped so the signal ladder ends before the cap. DISABLE_COMPACT=1 replaces the PreCompact block. Briefs are follow-ups owned by self-run and sourced from a Persona turn; her Self resolves each she answers, the actuator closes only what she left open at an idle end. inbox::backlog lists, and never closes, the one-time sweep.

Tests: the committed 2.1.312 streams replay through read_usage and decide; the unit tables, a ladder sweep and an event-order enumeration pin the rules.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 19:39:25 +01:00
Meta Vens
7ffaf3a5f9 Probe scripts and 2.1.312 live-session fixtures: folded, queued, ceiling-flush-folded/queued, api-error-first, blocking-limit, compaction-off-360k (fake.py, driver.py; SCRUB=0 and SCRUB=1)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 18:37:37 +01:00
Meta Vens
61b0b55bb1 memory: golden and schemas re-derived for origin
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 17:48:18 +01:00
Meta Vens
a746374708 memory: origin replaces learned_in and direct (eureka-pipeline MemoryOrigin, huginn-mind memory_origin alias and facts)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 17:46:20 +01:00
Meta Vens
a8184ac44a recall: the module note no longer uses the word the scan forbids
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 17:13:41 +01:00
Meta Vens
6f27e85f2b self-session-live tests: the provenance session is a Short
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 17:12:53 +01:00
Meta Vens
dae21f31fd self-session-live tests: a brief's closure is admitted under the run's label
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 17:10:32 +01:00
Meta Vens
290ca7a304 mind-body public surface: the inbox's close, close_past, told and forget
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 16:50:45 +01:00
Meta Vens
ae939193f1 self-session-live tests: the past's closure reads the clock once; a waiting brief is told after the close
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 16:45:31 +01:00
Meta Vens
7222d96dde recall tests: the relevant lane's documents outrank the about lane's 2026-10-31 16:43:37 +01:00
Meta Vens
f5711585a3 recall: tests pin each lane's limit, the item and byte caps, the follow-up and ruling lines and the empty notice
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 16:42:11 +01:00
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
bfa5c245ff persona: tests pin the schema's asks, resolution sequences, a memory's place and the batch's people
A mutation run over the memory diff left these unpinned: the asks the schema
offers, next_sequence counting per subject, learned_in cut at the Short bound
on a character boundary, other_senders excluding her own and repeats, and
memory_people listing the operator once. The place cut loses a redundant
boundary test: pop removes whole characters.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 16:37:55 +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
9f0c4824fb mind-body: the committed public surface follows the memory reply
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 15:26:10 +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
6272c2244b persona: she writes what she must keep into her mind, and reads it back every turn
A Persona reply gains `remember` (memories of seven sorts, about the
batch's people), `settle` (close an open ask: done is Recorded, declined and
wrong Withdrawn, with her reason) and `start_self_run.for_ask` (take an ask on
by id or as `new:<i>`). The organ fills where a memory was learned, whether it
was direct and its event ids; the model cannot write them. One admission per
turn carries the memories, the settles and the Pulse after the says, then the
Self run (follow-up and the ask's Deferred in one admission), then the ack. A
refusal fails the turn as Failure::Memory with the says sent and no ack.
admit_pulse is gone.

recall.rs reads only her own mind: open asks first on every turn including a
wake, memory about the batch's other senders, the nearest memory, follow-up
and ruling by MindPort::query_near, and the newest memory; de-duplicated and
capped at 20 items and 16 KiB. render_input gains "What you remember" after
the goals section; follow-ups and rulings that section already lists are not
repeated.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 15:15:41 +01:00
Meta Vens
152e315e5d memory: a persistent kind for what a Mind keeps (eureka-pipeline, huginn-mind)
epiphany.pipeline.memory.v2, instance-rooted `<instance>:memory:<label>`:
PipelineMemory with seven sorts (Asked, Decided, Committed, Learned, Did,
Idea, Rapport), her own text, who it is about, where it was learned, whether
directly, what it rests on, a salience that only ranks, and the memories a
consolidating one replaces.

Admission refuses a foreign instance and resolves a memory only Deferred to a
follow-up (an ask taken on), Recorded, Withdrawn or Superseded by a memory.
Memories have their own lineage so supersession stays within one mind. The
read side selects by sort, about (multi-valued) and direct; the index carries
the text; `consolidates` is a citation role.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 15:15:40 +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