pub struct StepBase {
pub step_id: StepId,
pub effect_hash: Hash,
pub judge_hash: Hash,
pub preflight: Option<Vec<AssertionIR>>,
pub retry: Option<RetryPolicy>,
pub timeout_ms: Option<u64>,
pub handlers: Option<Vec<HandlerBinding>>,
pub checkpoint: bool,
}Expand description
Common step envelope (02 §3).
Deliberately NOT closed (baseline exemption class 3): each StepIR
variant composes it and closes itself. stepId is identity, the two
hashes are content — the pivot of the resume-alignment mechanism;
stepId deliberately participates in neither hash.
Fields§
§step_id: StepIdAuthor-provided, flow-unique, stable step identity.
effect_hash: HashCanonical hash of “what this step does to the world” (02 §12.3).
judge_hash: HashCanonical hash of “how this step is judged” (02 §12.3).
preflight: Option<Vec<AssertionIR>>Pre-entry world probes; double as resume drift detection
(spine §6.7-C). Distinct from post-hoc assertions (expect).
retry: Option<RetryPolicy>Retry policy — applies to the act phase only (spine §6.5 mount 1).
timeout_ms: Option<u64>Step budget in milliseconds.
handlers: Option<Vec<HandlerBinding>>Step-level handler hooks; override flow-level ones.
checkpoint: boolWhether to materialize a checkpoint at this step boundary. Required because sealed IR materializes all defaulted fields (single-representation rule; default true, false inside macro expansions).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for StepBase
impl<'de> Deserialize<'de> for StepBase
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 StepBase
impl JsonSchema for StepBase
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