pub struct RuntimeSessionSpec {
pub session_id: String,
pub env_id: String,
pub env_component_id: String,
pub model_component_id: String,
pub workflow_edition: String,
pub env_contract: EnvContract,
pub num_envs: usize,
pub base_seed: Option<i64>,
pub max_episodes: Option<u64>,
pub close_env_on_end: bool,
pub limits: RuntimeLimits,
}Expand description
Everything one route needs to run: its identity, the negotiated env
contract, and the per-op limits. validate gates a spec
before the driver runs it.
Fields§
§session_id: StringCorrelation label only; OSS does not key on it (the managed layer owns session lifecycle). Kept as plumbing for telemetry/logs — its removal is the deferred closed split, out of scope here.
env_id: StringThe connected env container, UUIDv7 (minted by the runtime on attach).
The single routing key: replaces the old route_id + positional lane.
(Repurposed from the former descriptive-name field; the human env name
now lives only in the language SDK’s own contract type.)
env_component_id: String§model_component_id: String§workflow_edition: StringWorkflow edition negotiated at the env handshake. The runtime refuses an
edition it was not built to drive (see RuntimeSessionSpec::validate).
env_contract: EnvContract§num_envs: usize§base_seed: Option<i64>§max_episodes: Option<u64>§close_env_on_end: bool§limits: RuntimeLimitsImplementations§
Source§impl RuntimeSessionSpec
impl RuntimeSessionSpec
pub fn validate(&self) -> Result<(), String>
pub fn env_context(&self) -> RuntimeEnvContext
Sourcepub fn observation_space(&self) -> Option<&SpaceSpec>
pub fn observation_space(&self) -> Option<&SpaceSpec>
Returns the observation space, or None if the spec has not been
populated/validated (env_contract.observation_space is unset).
All RuntimeSessionSpec fields are public, so an unvalidated spec is
trivial to construct; this accessor never panics. The driver validates
the spec before running and uses the infallible internal accessor.
Sourcepub fn action_space(&self) -> Option<&SpaceSpec>
pub fn action_space(&self) -> Option<&SpaceSpec>
Returns the action space, or None if the spec has not been
populated/validated (env_contract.action_space is unset).
See RuntimeSessionSpec::observation_space for why this is fallible.
Trait Implementations§
Source§impl Clone for RuntimeSessionSpec
impl Clone for RuntimeSessionSpec
Source§fn clone(&self) -> RuntimeSessionSpec
fn clone(&self) -> RuntimeSessionSpec
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 RuntimeSessionSpec
impl Debug for RuntimeSessionSpec
Source§impl PartialEq for RuntimeSessionSpec
impl PartialEq for RuntimeSessionSpec
Source§fn eq(&self, other: &RuntimeSessionSpec) -> bool
fn eq(&self, other: &RuntimeSessionSpec) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for RuntimeSessionSpec
Auto Trait Implementations§
impl Freeze for RuntimeSessionSpec
impl RefUnwindSafe for RuntimeSessionSpec
impl Send for RuntimeSessionSpec
impl Sync for RuntimeSessionSpec
impl Unpin for RuntimeSessionSpec
impl UnsafeUnpin for RuntimeSessionSpec
impl UnwindSafe for RuntimeSessionSpec
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request