deterministic-simulation-testing

Simulate multi-node distributed systems with seeded PRNG for reproducible executions.

4|Updated Jan 29, 2026
One-click install
npx skills add https://github.com/danmestas/wardrobe --skill deterministic-simulation-testing
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: deterministic-simulation-testing
Source: https://github.com/danmestas/wardrobe/tree/main/skills/deterministic-simulation-testing
Command: npx skills add https://github.com/danmestas/wardrobe --skill deterministic-simulation-testing

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Deterministic Simulation Testing (DST) reduces the complexity of validating distributed systems by simulating all nondeterministic components (network, time, disk, randomness) under a seeded PRNG, delivering reproducible runs and easier bug reproduction.

Core Features & Use Cases

  • Single-threaded deterministic execution to make behaviors predictable.
  • I/O abstraction to swap in simulated interfaces for tests.
  • BUGGIFY fault injection to exercise rare paths safely in simulation.
  • Invariant checking and CI-friendly seeds to accelerate debugging and verification.
  • Use cases include validating consensus protocols, replicated state machines, fault tolerance.

Quick Start

Provide a seed and a scenario to start a deterministic simulation harness.

Frequently Asked Questions about deterministic-simulation-testing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is deterministic simulation testing for distributed systems?

It simulates nondeterministic components like network, time, disk, and randomness under a seeded PRNG to deliver reproducible runs and easier bug reproduction for distributed systems.

How do I use fault injection to test rare execution paths in a distributed system?

You can use BUGGIFY fault injection sites combined with invariant checking to safely exercise rare paths during single-threaded deterministic simulation. This allows you to validate safety and liveness properties without destabilizing your actual production environment.

How do I reproduce a flaky distributed systems bug that only happens under network or disk nondeterminism?

Provide a specific seed and scenario to the deterministic simulation harness to collapse multi-node execution into a single-threaded model. This controls network and disk nondeterminism via a seeded PRNG, enabling reproducible debugging across scenarios.

Can I use deterministic simulation testing to validate consensus protocols and replicated state machines?

Yes, deterministic simulation testing is specifically designed for validating consensus protocols, replication engines, and replicated state machines. It checks invariants under simulated fault injection to verify safety and liveness efficiently.

What do I need to implement before setting up a deterministic simulation harness?

You need to implement I/O interfaces to swap in simulated components and a deterministic scheduler to control execution. Optional BUGGIFY sites with invariants can be added to validate safety and liveness properties.