persona prompt tests: pin the clock the plan line is read against, the plain closing words
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
56bc78cc0e
commit
54236c0ee4
2 changed files with 9 additions and 7 deletions
|
|
@ -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 <id>` 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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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 -----------------------------------------------------
|
||||
|
|
|
|||
Loading…
Reference in a new issue