pub trait ActionExecutor: Send + Sync {
// Required method
fn execute(
&self,
run_id: &RunId,
action: &Action,
) -> Result<ActionResult, KernelError>;
}Expand description
Executes an action. The driver records ActionRequested, then calls this, then records ActionSucceeded/ActionFailed.
Return Err(KernelError::Executor(ActionError)) for structured retry decisions; other KernelError are treated as permanent.