Weave controls all sources of non-determinism in program execution—time, randomness, scheduling—so every run produces identical results.
Install from source with Cargo, the Rust package manager.
Weave uses dynamic binary modification to intercept every source of non-determinism at the instruction level. No source code changes, no recompilation — just prefix your command with weave.
Weave loads the guest program and all its shared libraries into a dedicated address space, bypassing the system's dynamic linker.
The binary translator rewrites code one basic block at a time, replacing system calls and non-deterministic instructions with deterministic equivalents.
Translated code runs natively on the CPU. At each block boundary, the dispatcher routes execution to the next translated block.
Deterministic execution benefits anyone debugging complex systems.
Agents need consistent, reproducible behavior to systematically debug code. Weave gives agents a stable foundation where every test run produces identical results, enabling reliable automated debugging loops.
Stop chasing phantom bugs. With Weave, every run is identical, so you can methodically narrow down root causes instead of relying on luck to reproduce issues. Turn weeks of investigation into hours.