diff --git a/crates/mind-body/src/persona/tests.rs b/crates/mind-body/src/persona/tests.rs index 3ff0d9f..4011e89 100644 --- a/crates/mind-body/src/persona/tests.rs +++ b/crates/mind-body/src/persona/tests.rs @@ -836,7 +836,8 @@ fn her_latest_runs_and_how_they_ended_are_in_her_input() { rig.mind.committed(vec![close(run_ref("old-one"), recorded())]); rig.go(); let input = rig.model.requests.borrow()[0].input.clone(); - assert!(input.contains("old-one PersonaTurn: Recorded"), "{input}"); + assert!(input.contains("old-one PersonaTurn: finished +"), "{input}"); } #[test] @@ -1551,7 +1552,8 @@ fn a_self_runs_result_over_a_reasons_line_reaches_her_next_turn_whole() { self_run_closed_with(&rig, "self-long", &result); rig.go(); let input = rig.model.requests.borrow()[0].input.clone(); - assert!(input.contains("self-long SelfRun: Recorded"), "{input}"); + assert!(input.contains("self-long SelfRun: finished + line of my report"), "{input}"); assert!(input.contains(" THE END OF MY REPORT"), "{input}"); assert_eq!(input.matches(" line of my report").count(), 150); } @@ -3509,7 +3511,7 @@ Near what was said: - (2026-10-09, in #swarm, Did): "Closed the old bridge" -Plan usage: five_hour 42.3% allowed, resets at 2026-10-29T20:50:00Z (in 3h 20m), read 0s ago. The swarm aims to have used about 90% of the weekly allowance at reset; nothing enforces it; you and the other Minds set the tempo. +Plan usage: five_hour 42.3% allowed, resets at 2026-10-29T20:50:00Z (in 20d 7h), read 0s ago. The swarm aims to have used about 90% of the weekly allowance at reset; nothing enforces it; you and the other Minds set the tempo. Tempo: not yet read. The swarm beat is the lower median of the votes cast: a Mind with no standing vote abstains and is not counted, and with no vote cast the beat is 900 s. A vote only needs changing when conditions change; leave it standing otherwise. You vote with tempo_vote_beat_s (60 to 86400 seconds per beat; omit the key to leave your standing vote as it is, and send null to withdraw it and abstain) and declare your own urgency with urgency_permille (0 to 1000, null for none); an urgency lasts until your next turn, so use it as etiquette, not as a habit. @@ -3536,7 +3538,7 @@ What you remember (from your own mind; `huginn view ` reads a record): - nothing is remembered yet. -Plan usage: five_hour 42.3% allowed, resets at 2026-10-29T20:50:00Z (in 3h 20m), read 0s ago. The swarm aims to have used about 90% of the weekly allowance at reset; nothing enforces it; you and the other Minds set the tempo. +Plan usage: five_hour 42.3% allowed, resets at 2026-10-29T20:50:00Z (in 20d 7h), read 0s ago. The swarm aims to have used about 90% of the weekly allowance at reset; nothing enforces it; you and the other Minds set the tempo. Tempo: not yet read. The swarm beat is the lower median of the votes cast: a Mind with no standing vote abstains and is not counted, and with no vote cast the beat is 900 s. A vote only needs changing when conditions change; leave it standing otherwise. You vote with tempo_vote_beat_s (60 to 86400 seconds per beat; omit the key to leave your standing vote as it is, and send null to withdraw it and abstain) and declare your own urgency with urgency_permille (0 to 1000, null for none); an urgency lasts until your next turn, so use it as etiquette, not as a habit. diff --git a/crates/mind-body/src/self_run/tests.rs b/crates/mind-body/src/self_run/tests.rs index 9f81d44..3c2b76e 100644 --- a/crates/mind-body/src/self_run/tests.rs +++ b/crates/mind-body/src/self_run/tests.rs @@ -357,7 +357,7 @@ fn the_start_message_is_the_first_thing_written_and_names_the_skill_the_instance let ran = go(vec![Out(result_line())]); assert!(matches!(&ran.events[0], Event::Wrote(_)), "the start precedes the first read: {:?}", ran.events[0]); let written = ran.written(); - for needle in ["Plan usage: five_hour 42.3% allowed, resets at 2026-10-29T20:50:00Z", "about 90% of the weekly allowance", "nothing enforces it"] { + for needle in ["Plan usage: five_hour 42.3% allowed, resets at 2026-10-29T20:50:00Z (in 20d 7h), read 0s ago", "about 90% of the weekly allowance", "nothing enforces it"] { assert!(written[0].contains(needle), "the lease grant plan windows reach the child: {needle}: {}", written[0]); } for needle in ["Use the eureka skill.", "yggdrasil", "yggdrasil:run:selfrun-a", AGENT] { @@ -1216,7 +1216,7 @@ fn the_start_message_carries_the_claimed_follow_ups_item_and_id_verbatim() { let mind = claiming(std::slice::from_ref(&claim), vec![brief]); let ran = carry_with(&Seen::of(&mind), vec![Out(result_line())], Some(0), false); let first = &ran.written()[0]; - assert!(first.starts_with(&start_message(&Slug("yggdrasil".into()), &run_ref("selfrun-a"), &[plan_window()], 1_793_306_000_000)), "{first}"); + assert!(first.starts_with(&start_message(&Slug("yggdrasil".into()), &run_ref("selfrun-a"), &[plan_window()], at_start().timestamp_millis() as u64)), "{first}"); for needle in ["Fix the thing.\nThen report \u{e9}.", claim.id.0.as_str(), "Use the eureka skill."] { assert!(first.contains(needle), "{needle}: {first}"); } @@ -1278,7 +1278,7 @@ fn a_mind_query_failure_on_a_claim_fails_the_run_with_the_cause_and_starts_no_ch #[test] fn a_run_without_claims_gets_the_identity_lines_alone() { let ran = go(vec![Out(result_line())]); - assert_eq!(ran.written()[0], start_message(&Slug("yggdrasil".into()), &run_ref("selfrun-a"), &[plan_window()], 1_793_306_000_000)); + assert_eq!(ran.written()[0], start_message(&Slug("yggdrasil".into()), &run_ref("selfrun-a"), &[plan_window()], at_start().timestamp_millis() as u64)); } // ---- the live session -----------------------------------------------------