Parallel agents & evals
Fork a warm environment a hundred ways.
Pay the slow setup once: install deps, load the model, warm the cache, then snapshot. Every fork resumes from that exact live state in about 125 ms, with its own memory, entropy, and network identity. It is the primitive parallel agent work actually wants.
- ~125 ms per fork
- lazy userfaultfd memory
- 320 VMs on a laptop
- clone-safe by construction
why it is fast, and safe
Hundreds of copies, bounded by RAM not by copying
Lazy memory, not copies
A fork pages in only the working set it touches via userfaultfd. Sixty-four forks share down to ~13 MiB each, not 512.
O(1) disk on reflink
On btrfs or XFS the rootfs clone shares extents, so nothing is copied. Hundreds of forks are bounded by RAM, not by disk.
Clone-safe, before reachable
Every child reseeds its RNG and rotates machine-id and netns before it is reachable. No duplicated entropy, no photocopies.
put it to work
One warm parent, many timelines
evals
Score N variants at once
Fork one warm server per variant, run them in parallel, keep the winner.
$ SNAP=$(crucible snapshot create $SERVER) $ crucible fork $SNAP --count 32 # 32 isolated scorers, one warm parent
agents
Explore every branch
Try eight approaches from the same checkpoint; discard the seven that fail.
$ crucible fork $SNAP --count 8 # same state, eight timelines # none can see or corrupt the others
checkpoints
Snapshot mid-run
Freeze a long task, branch to test a risky step, roll back if it breaks.
$ crucible snapshot create $SBX $ # try the risky migration in a fork $ crucible fork $SNAP -p 8081:80
the crown-jewel primitive
Branch running state like it is a variable.
Snapshot once, fork as wide as your RAM allows. No shared-kernel container can do this.
$ curl -fsSL https://github.com/gnana997/crucible/releases/latest/download/install.sh | sudo bash -s -- --with-deps --enable