Content-addressed journal
Never pay twice.
Completed effects replay byte-identically from disk. Insert, reorder, or remove a step—unrelated work stays valid and free.
Read about the journal ↗Durable multi-agent workflows
Rulvar is an embeddable TypeScript engine for multi-agent work that survives crashes, edits, and redeploys—without re-running completed calls.
pnpm add @rulvar/rulvar
sha256: 18c2…91e7
A library, not a platform.
Code, not graphs.
Guarantees, not hints.
01 / Invariants
Rulvar’s architecture is built around properties that hold through every run—not optimistic conventions your application has to police.
Content-addressed journal
Completed effects replay byte-identically from disk. Insert, reorder, or remove a step—unrelated work stays valid and free.
Read about the journal ↗Immutable USD ceiling
Admission control, a per-turn guard, and a live abort ceiling bound every run. Exhaustion returns typed partial results and a complete cost report.
See budget guarantees ↗Per-invocation routing
The core imports no provider SDKs. Route each role to the right model—even mix providers safely within a single agent.
Explore providers ↗Hermetic by default
Fake adapters, redacted VCR cassettes, and replay-strict runs turn agent workflows into fast, deterministic CI tests.
Testing guide ↗02 / Orchestration
Change who authors the control flow without changing the guarantees underneath.
DETERMINISTIC TYPESCRIPT
Ordinary async TypeScript over typed ctx primitives. The most
direct path when your control flow is known.
engine.run(workflow, args)
One event stream. One cost report. One replay model.
Compare orchestration modes04 / Resume
$ pnpm tsx review.ts
run:start review-42 budget $5.00
agent:end correctness $0.0214
agent:end test-coverage $0.0179
run:end ok $0.0393
$ pnpm tsx resume.ts
run:start review-42 resumed
agent:end correctness replayed
agent:end test-coverage replayed
run:end ok 3 hits · 0 misses · $0.0000 new
The workflow body executes again. The journal answers completed effects; only a genuine miss becomes a live provider call.
Open source · Apache-2.0