Skip to main content

ResolvedExecutionSnapshot

Struct ResolvedExecutionSnapshot 

Source
pub struct ResolvedExecutionSnapshot {
Show 20 fields pub session_id: SessionId, pub workspace_id: WorkspaceId, pub harness_id: HarnessId, pub agent_id: Option<AgentId>, pub organization_id: String, pub instructions: Option<String>, pub default_model_id: Option<ModelId>, pub capabilities: Vec<CapabilityRef>, pub tools: Vec<ToolDefinition>, pub initial_files: Vec<InitialFile>, pub mcp_servers: BTreeMap<String, SnapshotMcpServer>, pub network_access: Option<NetworkAccessList>, pub max_iterations: Option<usize>, pub parallel_tool_calls: Option<bool>, pub locale: Option<String>, pub tags: Vec<String>, pub blueprint_id: Option<String>, pub blueprint_config: Option<Value>, pub cumulative_usage: Option<TokenUsage>, pub embedder_metadata: BTreeMap<String, String>,
}
Expand description

Canonical resolved execution value for one session’s turn execution.

Contains only turn-relevant configuration plus the typed correlation values execution needs. Produced by ResolvedExecutionSnapshot::project — the platform projection boundary where missing, mismatched, or inactive stored records fail before host execution begins.

Field order is fixed and map fields are BTreeMaps, so serialization of equal values is byte-identical (deterministic).

Fields§

§session_id: SessionId§workspace_id: WorkspaceId§harness_id: HarnessId§agent_id: Option<AgentId>§organization_id: String

Public (org_…) organization id used for execution scoping. This is a correlation value, not the organization record.

§instructions: Option<String>

Effective instructions (merged system prompt, session goal included).

§default_model_id: Option<ModelId>

Effective model specification; None selects the host default model.

§capabilities: Vec<CapabilityRef>

Configured capability references with per-layer config merged.

§tools: Vec<ToolDefinition>

Explicitly configured tools (client-side or capability-provided).

§initial_files: Vec<InitialFile>

Effective initial workspace files.

§mcp_servers: BTreeMap<String, SnapshotMcpServer>

Effective scoped MCP servers, credential values excluded.

§network_access: Option<NetworkAccessList>

Effective workspace network policy.

§max_iterations: Option<usize>

Maximum reason iterations per turn.

§parallel_tool_calls: Option<bool>

Request-level parallel tool calling preference.

§locale: Option<String>§tags: Vec<String>§blueprint_id: Option<String>§blueprint_config: Option<Value>§cumulative_usage: Option<TokenUsage>

Cumulative LLM usage projected from the session for turn accounting.

§embedder_metadata: BTreeMap<String, String>

Embedder metadata folded from the harness chain (root base, leaf wins).

Implementations§

Source§

impl ResolvedExecutionSnapshot

Source

pub fn project( harness: &HarnessDefinition, agent: Option<&AgentDefinition>, session: &ExecutionSession, ) -> Result<Self>

Project loaded records into the canonical execution value.

This is the execution projection boundary: it fails when a referenced agent is missing or does not match the session’s agent id. Harness lifecycle and inheritance validation happen one step earlier, at the host loading seam (EVE-881): parent-chain loading, cycle/error handling, and archived/deleted validation run before only the effective, executable HarnessDefinition reaches this projection. Agent lifecycle validation likewise fails at that host seam (EVE-877). Host execution never sees a snapshot built from broken record wiring.

Precedence is applied exactly once, through the same AgentConfigOverlay merge semantics the runtime capability resolution uses: harness → agent → session, leaf wins.

Trait Implementations§

Source§

impl Clone for ResolvedExecutionSnapshot

Source§

fn clone(&self) -> ResolvedExecutionSnapshot

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ResolvedExecutionSnapshot

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for ResolvedExecutionSnapshot

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for ResolvedExecutionSnapshot

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more