pub struct StepsEvaluation {
pub decision: Decision,
pub taints: Vec<TaintEvent>,
pub args_modified: bool,
pub result_modified: bool,
pub pending: Option<PendingElicitation>,
}Expand description
Outcome of evaluate_effects: the phase’s decision plus taints emitted
by any plugin steps that ran. Taints are accumulated even when the
phase ultimately denies — audit needs to see what the plugins
reported before the deny landed. Empty taints is the common case
(most steps are predicates / PDP calls, not label emitters).
args_modified / result_modified are set when an Effect::FieldOp
inside a do: body successfully mutated the route payload — the
orchestrator uses them to OR-into the route-level “did anything
change” signals so the host knows to re-serialize the body.
Fields§
§decision: Decision§taints: Vec<TaintEvent>§args_modified: bool§result_modified: bool§pending: Option<PendingElicitation>Set when a phase suspended on an unresolved elicitation. Some
means “do not forward — emit -32120 with this bundle.” decision
is Allow in that case (nothing denied); the host gates forwarding
on pending.is_none(). See crate::step::PendingElicitation.
Trait Implementations§
Source§impl Clone for StepsEvaluation
impl Clone for StepsEvaluation
Source§fn clone(&self) -> StepsEvaluation
fn clone(&self) -> StepsEvaluation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more