Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1100,6 +1100,13 @@ fn terminal_daemon_status_waits_for_delayed_aggregate_then_projects_once() {
.expect("terminal transport awaits aggregate synchronization");
assert_eq!(record.state, AgentTaskRunState::Running);
assert!(store::read_aggregate(&record.run_id).is_err());
let before_delayed_provider_terminal = status(&record.run_id)
.expect("continuation reconciliation observes the pending provider aggregate");
assert_eq!(
before_delayed_provider_terminal.state,
AgentTaskRunState::Running,
"continuation must keep observing until the runner publishes the provider aggregate"
);

let aggregate = succeeded_aggregate(&test_plan());
let mut terminal_with_aggregate = terminal_child_snapshot(&aggregate);
Expand All @@ -1123,6 +1130,13 @@ fn terminal_daemon_status_waits_for_delayed_aggregate_then_projects_once() {
store::read_aggregate(&record.run_id).expect("aggregate persisted"),
aggregate
);
let after_delayed_provider_terminal = status(&record.run_id)
.expect("continuation reconciliation observes the projected terminal aggregate");
assert_eq!(
after_delayed_provider_terminal.state,
AgentTaskRunState::Succeeded,
"the same durable attempt becomes terminal exactly once when delayed provider evidence arrives"
);
});
}

Expand Down
Loading
Loading