pub enum GoalOutcome {
Succeeded {
summary: String,
extracted_data: Value,
},
Failed(FailureReport),
Refused {
summary: String,
},
}Expand description
Terminal outcome of a whole agent run.
Every caller — CLI, MCP, eval harness — consumes this exact shape.
There is no “timeout” or “max steps” variant: those are budget
limits, and exhausting one produces a FailureReport whose
attempts describe why the agent used up the budget.
Variants§
Succeeded
The agent reached a satisfying end state. summary is the
natural-language recap (what the CLI prints after === Result ===,
what the MCP response shows). extracted_data is the plan’s
final shared_memory — prices, URLs, confirmation numbers, etc.
Failed(FailureReport)
The agent gave up. report names which sub-goal and step died,
and carries the last three error messages.
Refused
The agent refused to act because the goal was too ambiguous or destructive to attempt safely, and asked the user for clarification instead.
Terminal like Failed but semantically distinct: the agent
isn’t broken, the goal is. summary carries the clarification
question — verbatim what the planner emitted in
NextMove::Clarify. Callers (CLI, MCP server, eval harness)
render it back to the user as a prompt, not an error.
Trait Implementations§
Source§impl Clone for GoalOutcome
impl Clone for GoalOutcome
Source§fn clone(&self) -> GoalOutcome
fn clone(&self) -> GoalOutcome
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more