Reproducible debugging
for AI agents and humans

Weave controls all sources of non-determinism in program execution—time, randomness, scheduling—so every run produces identical results.

Get Started View on GitHub
Get Started

Install Weave

Install from source with Cargo, the Rust package manager.

$ cargo install --git https://github.com/penberg/weave
Why Weave?

Non-determinism is the enemy of debugging

The Problem

  • Bugs that vanish when you try to reproduce them
  • System time, RNG, and scheduling cause unpredictable behavior
  • Debugging becomes guesswork instead of engineering
  • AI agents can't fix what they can't reproduce

The Weave Solution

  • Every execution produces identical results
  • All sources of randomness are intercepted and controlled
  • Systematic debugging replaces trial and error
  • Use a seed to explore different deterministic timelines
How It Works

Lightweight binary translation

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.

1

Load

Weave loads the guest program and all its shared libraries into a dedicated address space, bypassing the system's dynamic linker.

2

Translate

The binary translator rewrites code one basic block at a time, replacing system calls and non-deterministic instructions with deterministic equivalents.

3

Execute

Translated code runs natively on the CPU. At each block boundary, the dispatcher routes execution to the next translated block.

Who It's For

Built for AI agents and humans

Deterministic execution benefits anyone debugging complex systems.

>_

AI Coding Agents

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.

Human Developers

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.