Your agents crash.
Ours recover.
JamJet checkpoints every step as it happens. When a worker dies mid-run, the scheduler reclaims the lease and resumes from exactly where it stopped — no lost work, no duplicate actions, no reruns.
See it run
$ jamjet run research-pipeline.yaml ▸ Starting execution exec_7f3a... ▸ [Plan] ✓ completed 420ms ▸ [Research] ✓ completed 1.2s ▸ [Analyze] ✗ worker crashed ▸ Lease expired · reclaiming... ▸ [Analyze] ✓ resumed 890ms ▸ [Review] ✓ completed 650ms ▸ [Synthesize] ✓ completed 1.1s ▸ Execution complete · 5/5 nodes · 0 events lost
from jamjet import task, workflow @task async def analyze(data: dict) -> dict: # your logic here — crash-safe by default return {"summary": llm.call(data)} @workflow async def pipeline(): raw = await fetch_data() out = await analyze(raw) return out
12 lines of Python. Crash-safe by default.
Why teams care
Completed steps stay completed. No wasted tokens after failure.
Downstream actions are less likely to be repeated after failure.
Replay the exact execution instead of reconstructing it from logs.
Long-running workflows survive crashes, restarts, and lease handoffs.
How teams use JamJet in production
Click any card to expand the code.
Investment Due Diligence
A durable multi-agent workflow for report generation, risk review, and compliance checks.
RAG Assistant
A retrieval-and-synthesis workflow where every step is checkpointed, traceable, and replayable.
Human Approval Workflow
Pause durably for a human decision, then resume without losing state or re-running prior work.
MCP Tool Integration
Use external tools through MCP while keeping each tool call inside the durable runtime.
Agent-to-Agent Delegation
Delegate to specialized agents via A2A with identity-aware, cost-aware, replayable execution.