From 4d174dfad6d74d42b14e041fcdec474de314266b Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sat, 31 Oct 2026 20:04:35 +0100 Subject: [PATCH] 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 --- crates/mind-body/src/self_run/decide.rs | 2 +- crates/mind-body/src/self_run/tests.rs | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/crates/mind-body/src/self_run/decide.rs b/crates/mind-body/src/self_run/decide.rs index 72fe12c..fcc6786 100644 --- a/crates/mind-body/src/self_run/decide.rs +++ b/crates/mind-body/src/self_run/decide.rs @@ -132,7 +132,7 @@ pub(super) struct State { impl State { /// A session whose start message was just written. pub(super) fn started(at: DateTime, run_cap_s: u64) -> Self { - Self { written: 1, cap: Some((at, i64::try_from(run_cap_s).unwrap_or(i64::MAX))), at: Some(at), ..Self::default() } + Self { written: 1, cap: Some((at, i64::try_from(run_cap_s).unwrap_or(i64::MAX))), ..Self::default() } } fn idle(&self) -> bool { diff --git a/crates/mind-body/src/self_run/tests.rs b/crates/mind-body/src/self_run/tests.rs index f2a30ff..9a0ea54 100644 --- a/crates/mind-body/src/self_run/tests.rs +++ b/crates/mind-body/src/self_run/tests.rs @@ -1821,3 +1821,15 @@ mod live_session { } } } + +#[test] +fn a_brief_the_run_claims_is_in_the_task_once_and_not_again_under_also_open() { + let mind = TestMind::seeded(); + mind.committed(vec![spec("x"), run("persona", RunTurn::PersonaTurn, RunOperator::Mind, &[])]); + mind.committed(vec![brief("claimed", "Do the claimed thing.")]); + mind.committed(vec![run("selfrun-a", RunTurn::SelfRun, RunOperator::Mind, &[brief_ref("claimed")])]); + let ran = carry_with(&Seen::of(&mind), vec![Out(echo())], Some(0), false); + let start = &ran.written()[0]; + assert_eq!(start.matches("claimed follow-up").count(), 1, "{start}"); + assert!(start.contains("Do the claimed thing.") && !start.contains("Also open for you"), "{start}"); +}