pub struct RunOptions {
pub stop: CancellationToken,
pub run_id: Option<String>,
pub device_id: String,
pub platform: Option<String>,
pub vision: Option<Arc<dyn VisionVerifier>>,
pub subflows: BTreeMap<Hash, FlowIR>,
pub supervise: Option<SupervisePolicy>,
pub clock: Option<Arc<dyn Fn() -> u64 + Send + Sync>>,
}Expand description
Options of Runner::run.
Fields§
§stop: CancellationTokenCooperative stop token, honored at step boundaries
(runSuspended → RunOutcome::Suspended).
run_id: Option<String>Explicit run id; a UUIDv4 is generated when absent.
device_id: StringThe bound device (checkpoint hard binding; also env.deviceId).
platform: Option<String>The device platform for env.platform, when known (comes from the
lockfile at the assembly layer; the SPI attestation does not carry
it).
vision: Option<Arc<dyn VisionVerifier>>The vision verifier consulted by vision verify-chain tails.
None is equivalent to
pointlock_vision::StubVisionVerifier: the vision channel cannot
complete and reports "vision verifier not configured" — the chain
degrades honestly toward unknown (principle 4).
subflows: BTreeMap<Hash, FlowIR>The resolved subflow registry keyed by irHash (07 §1.3): every
callee the flow’s subflows table pins must be present; entries
self-verify at load. Empty for flows without subflows.
supervise: Option<SupervisePolicy>This segment’s supervision policy (R13, spine §6.9): recorded in
runStarted.supervisePolicy (explicitly null when absent) and
gates action-step dispatch (mutating gates mutating steps,
all every action step). Per segment, never inherited.
clock: Option<Arc<dyn Fn() -> u64 + Send + Sync>>Injectable wall clock for human-deadline computation and lazy
timeout settlement (tests); None uses the system clock.