pub struct ActionStepIR {
pub kind: ActionKind,
pub base: StepBase,
pub verb: Option<CanonicalVerb>,
pub effect: EffectClassAction,
pub idempotent: bool,
pub binding: ActionBinding,
pub assertions: Vec<AssertionIR>,
pub outputs: Option<ExprMap>,
pub output_schema: Option<JsonSchemaDocument>,
}Expand description
Action step (02 §4.1): fixed pipeline preflight? → act → observe → assert.
assertions MAY be empty: a mutating action step without assertions
yields no verdict (report annotation unverified, spine R4).
Fields§
§kind: ActionKindConst "action".
base: StepBaseCommon step envelope (flattened on the wire).
verb: Option<CanonicalVerb>Canonical verb — pure metadata for reports; the runner has no verb switch (spine R7).
effect: EffectClassActionmutating | readonly (pure is excluded — it belongs to let).
idempotent: boolAuthor-declared idempotence (materialized default: false). Governs timed-out auto-retry and reconcile-uncertain replay permission.
binding: ActionBindingThe compile-time fully bound act-chain.
assertions: Vec<AssertionIR>Post-hoc assertions. Empty array ⇒ this step yields no verdict.
outputs: Option<ExprMap>Output projection: Record<name, Expr> over ActionResult.output /
observation metadata. Self-refs inside refer to the raw output
(02 §4.1.1). Absent ⇒ identity projection.
output_schema: Option<JsonSchemaDocument>Data contract of the projected output, for downstream static checks.
Trait Implementations§
Source§impl Clone for ActionStepIR
impl Clone for ActionStepIR
Source§fn clone(&self) -> ActionStepIR
fn clone(&self) -> ActionStepIR
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ActionStepIR
impl Debug for ActionStepIR
Source§impl<'de> Deserialize<'de> for ActionStepIR
impl<'de> Deserialize<'de> for ActionStepIR
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for ActionStepIR
impl JsonSchema for ActionStepIR
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read more