Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

VM Simulation

This page is the top-level guide for telltale-simulator. Detailed behavior is split into focused pages to keep this entry concise.

Scope

The simulator runs projected local types on telltale-vm. It adds deterministic middleware for scenarios, faults, network behavior, and properties. It also provides a harness API for external integration testing.

Quick Start

Use SimulationHarness with a HostAdapter implementation. Run the scenario and assert contracts in one path.

#![allow(unused)]
fn main() {
let adapter = DirectAdapter::new(&handler);
let harness = SimulationHarness::new(&adapter);
let result = harness.run(&spec)?;
assert_contracts(&result, &ContractCheckConfig::default())?;
}

This path runs VM execution, scenario middleware, and post-run contract checks. It is the recommended integration lane for host runtimes.

Document Map

Use these pages for detailed behavior.

  • VM Simulation Runner: trace shape, runner entry points, harness APIs, sampling model, and round order.
  • VM Simulation Scenarios: scenario schema, TOML examples, fault and network middleware, properties, checkpointing, and replay.
  • VM Simulation Materials: material handlers, distributed simulation, post-run analysis, conformance lanes, and current limits.

CLI

Use the simulator runner binary through just for CI-friendly JSON output.

just sim-run work/sim_integration.toml

The process exits with code 2 when configured contract checks fail.