pub struct InputState {
pub input_id: InputId,
pub history: Vec<InputStateHistoryEntry>,
pub updated_at: DateTime<Utc>,
pub policy: Option<PolicySnapshot>,
pub runtime_semantics: Option<RuntimeInputSemantics>,
pub durability: Option<InputDurability>,
pub idempotency_key: Option<IdempotencyKey>,
pub recovery_count: u32,
pub reconstruction_source: Option<ReconstructionSource>,
pub persisted_input: Option<Input>,
pub created_at: DateTime<Utc>,
}Expand description
Per-input shell data. Plain fields, no hidden state machine.
All DSL-owned lifecycle fields (phase, last_run_id,
last_boundary_sequence, terminal_outcome, attempt_count,
recovery_lane) are
authoritative in the DSL. Live code reads them via
EphemeralRuntimeDriver::input_phase / input_last_run_id /
input_last_boundary_sequence / input_terminal_outcome /
input_attempt_count / input_recovery_lane. Persistence callsites
serialize them via InputStateSeed bundled on StoredInputState.
Fields§
§input_id: InputId§history: Vec<InputStateHistoryEntry>§updated_at: DateTime<Utc>§policy: Option<PolicySnapshot>§runtime_semantics: Option<RuntimeInputSemantics>Runtime-stamped run semantics captured at admission and persisted so recovery does not reclassify execution kind from payload shape.
durability: Option<InputDurability>§idempotency_key: Option<IdempotencyKey>§recovery_count: u32§reconstruction_source: Option<ReconstructionSource>§persisted_input: Option<Input>§created_at: DateTime<Utc>Implementations§
Source§impl InputState
impl InputState
Sourcepub fn new_accepted(input_id: InputId) -> Self
pub fn new_accepted(input_id: InputId) -> Self
Create a fresh InputState. Paired DSL state starts in the Accepted
phase via InputStateSeed::new_accepted; callers that need the
bundle use StoredInputState::new_accepted.
pub fn history(&self) -> &[InputStateHistoryEntry]
pub fn updated_at(&self) -> DateTime<Utc>
Trait Implementations§
Source§impl Clone for InputState
impl Clone for InputState
Source§fn clone(&self) -> InputState
fn clone(&self) -> InputState
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more