pub struct ClaudeRuntimeManifest {
pub schema_version: u32,
pub execution_state: ClaudeRuntimeExecutionState,
pub scheduler: ClaudeRuntimeSchedulerState,
pub posture: ClaudeRuntimePosture,
pub active_crons: Vec<ClaudeCronJob>,
pub pending_wakeups: Vec<ClaudeWakeup>,
pub queue: ClaudeQueueState,
pub background_children: Vec<ClaudeBackgroundChild>,
pub reported_pending_background_children: Option<u64>,
pub residue: Vec<ClaudeRuntimeResidue>,
}Expand description
A pure, serializable reconstruction of runtime state in a Claude transcript.
Fields§
§schema_version: u32Manifest schema version.
execution_state: ClaudeRuntimeExecutionStateImported schedulers are always restored inert. Merely loading this manifest must never start a timer or child agent.
scheduler: ClaudeRuntimeSchedulerStateDeterministic scheduler cursor state. Absent in manifests written before active emulation existed and therefore defaults empty.
posture: ClaudeRuntimePostureLatest permission, prompt-leaf, and harness posture.
active_crons: Vec<ClaudeCronJob>Jobs created successfully and not subsequently cancelled.
pending_wakeups: Vec<ClaudeWakeup>Successful wakeups for which no matching scheduled prompt has fired.
queue: ClaudeQueueStateQueue totals and any content still enqueued at end of transcript.
background_children: Vec<ClaudeBackgroundChild>Background Claude Agent calls and their latest known terminal/live state.
reported_pending_background_children: Option<u64>Latest harness-reported background-child count, when present.
residue: Vec<ClaudeRuntimeResidue>Verbatim runtime-affecting records, including records not interpreted.
Implementations§
Source§impl ClaudeRuntimeManifest
impl ClaudeRuntimeManifest
Sourcepub fn activate_scheduler(&mut self, now_unix: i64) -> Result<(), Error>
pub fn activate_scheduler(&mut self, now_unix: i64) -> Result<(), Error>
Validate every imported schedule and activate it at now_unix.
Existing cron history is never replayed: each first cron cursor is the
first matching UTC minute strictly after activation. Pending queue
prompts and overdue wakeups become due exactly at activation and
therefore claim once immediately.
Sourcepub fn reconcile_scheduler(&mut self, now_unix: i64) -> Result<(), Error>
pub fn reconcile_scheduler(&mut self, now_unix: i64) -> Result<(), Error>
Reconcile active scheduler metadata after a deterministic in-memory
CronCreate/CronDelete/ScheduleWakeup mutation. Existing cursors are
preserved; only new jobs/wakeups are seeded from now_unix, and
deleted/expired entries disappear.
Sourcepub fn next_due(
&self,
now_unix: i64,
) -> Result<Option<ClaudeRuntimeTrigger>, Error>
pub fn next_due( &self, now_unix: i64, ) -> Result<Option<ClaudeRuntimeTrigger>, Error>
Return the earliest executable trigger without mutating state.
Sourcepub fn claim_due(
&mut self,
now_unix: i64,
) -> Result<Vec<ClaudeRuntimeTrigger>, Error>
pub fn claim_due( &mut self, now_unix: i64, ) -> Result<Vec<ClaudeRuntimeTrigger>, Error>
Claim every trigger due at or before now_unix, in stable order.
Recurring crons advance once to the first tick strictly after now
(no missed-tick catch-up); queued prompts, one-shot crons, and wakeups
are removed from their source state after becoming durable deliveries.
Sourcepub fn complete_delivery(
&mut self,
kind: ClaudeRuntimeTriggerKind,
id: &str,
) -> Result<(), Error>
pub fn complete_delivery( &mut self, kind: ClaudeRuntimeTriggerKind, id: &str, ) -> Result<(), Error>
Acknowledge one successful scheduled turn and remove its durable delivery record.
Sourcepub fn defer_delivery(
&mut self,
kind: ClaudeRuntimeTriggerKind,
id: &str,
retry_at_unix: i64,
) -> Result<(), Error>
pub fn defer_delivery( &mut self, kind: ClaudeRuntimeTriggerKind, id: &str, retry_at_unix: i64, ) -> Result<(), Error>
Retain a failed/interrupted delivery and delay its next attempt.
Source§impl ClaudeRuntimeManifest
impl ClaudeRuntimeManifest
Sourcepub fn from_session(session: &Session) -> Result<ClaudeRuntimeManifest, Error>
pub fn from_session(session: &Session) -> Result<ClaudeRuntimeManifest, Error>
Reconstruct a manifest from a loaded Claude Code session without executing or contacting a provider.
Sourcepub fn to_pretty_json(&self) -> Result<String, Error>
pub fn to_pretty_json(&self) -> Result<String, Error>
Render this manifest as deterministic, pretty JSON for a no-provider dry report or persistence alongside a resumed session.
Trait Implementations§
Source§impl Clone for ClaudeRuntimeManifest
impl Clone for ClaudeRuntimeManifest
Source§fn clone(&self) -> ClaudeRuntimeManifest
fn clone(&self) -> ClaudeRuntimeManifest
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 ClaudeRuntimeManifest
impl Debug for ClaudeRuntimeManifest
Source§impl<'de> Deserialize<'de> for ClaudeRuntimeManifest
impl<'de> Deserialize<'de> for ClaudeRuntimeManifest
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ClaudeRuntimeManifest, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ClaudeRuntimeManifest, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for ClaudeRuntimeManifest
Source§impl PartialEq for ClaudeRuntimeManifest
impl PartialEq for ClaudeRuntimeManifest
Source§impl Serialize for ClaudeRuntimeManifest
impl Serialize for ClaudeRuntimeManifest
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for ClaudeRuntimeManifest
Auto Trait Implementations§
impl Freeze for ClaudeRuntimeManifest
impl RefUnwindSafe for ClaudeRuntimeManifest
impl Send for ClaudeRuntimeManifest
impl Sync for ClaudeRuntimeManifest
impl Unpin for ClaudeRuntimeManifest
impl UnsafeUnpin for ClaudeRuntimeManifest
impl UnwindSafe for ClaudeRuntimeManifest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.