pub struct RunSpec {
pub assignment: String,
pub logical_session: Option<LogicalSessionIdentity>,
pub project_id: Option<ProjectId>,
pub reasoning_effort: Option<String>,
pub permission_policy: Option<PermissionPolicyContext>,
pub messages: Vec<Value>,
pub activation_run_id: Option<String>,
pub initial_session_messages: Vec<SessionMessageDelivery>,
pub secrets: RunSecrets,
}Expand description
A unit of work a parent assigns to an actor.
Fields§
§assignment: String§logical_session: Option<LogicalSessionIdentity>Stable domain identity for the session being activated. Actor process, mailbox, and pooled-worker ids are transport details and must never replace these values in worker persistence or message routing.
project_id: Option<ProjectId>Stable Project identity inherited from the parent session. The typed wire value rejects unsafe/invalid identifiers during deserialization.
reasoning_effort: Option<String>§permission_policy: Option<PermissionPolicyContext>Effective permission policy captured by the host at this activation
boundary. Keeping it on RunSpec (rather than only provisioning) lets
warm, broker and remote workers observe policy revisions and bypass
changes on their next activation.
messages: Vec<Value>Full prior conversation (serialized domain Messages, oldest first),
INCLUDING the assignment’s user message when present. The actor’s
durable state lives in the parent’s store; each activation rehydrates
from here — this is what makes send_message/update/rerun carry context
across one-shot actor processes. Empty = first activation, no history.
activation_run_id: Option<String>Independently authoritative id of the host activation whose execution this RunSpec starts. Initial and mid-run typed deliveries must match it; a delivery’s own run-id field is never accepted as self-authentication.
initial_session_messages: Vec<SessionMessageDelivery>Canonical logical-session deliveries that caused this idle actor activation. The worker durably enqueues these before entering its first provider boundary, then confirms admission over the child frame stream.
secrets: RunSecretsSecrets minted for this activation only. They are delivered in-memory over the actor transport and must never be persisted by the worker.