The safety layer behind your AI agents: policy, audit, approval, recovery, cost, and memory. Open source. Apache 2.0.
jamjet.dev · docs · compare · showcase · blog
Keep your stack. Slot JamJet under it.
┌──────────────────────────────────────────────────────────┐
│ your agent framework │
│ LangGraph · CrewAI · ADK · OpenAI Agents · Spring AI │
└──────────────────────────────────────────────────────────┘
│
┌──────────────────────────────────────────────────────────┐
│ JamJet safety layer │
│ policy · audit · approval · recovery · cost · memory │
└──────────────────────────────────────────────────────────┘
│
┌──────────────────────────────────────────────────────────┐
│ models · tools · MCP · A2A │
│ Claude · OpenAI · Gemini · Postgres · your APIs │
└──────────────────────────────────────────────────────────┘
The runtime sits between your agent and everything it touches. Every interaction passes through a layer that can block, wait, replay, and record. You don't have to leave LangGraph or CrewAI or whatever's already working. JamJet wraps what's there.
| # | Failure mode | What JamJet does |
|---|---|---|
| 01 | Lost progress: a worker dies mid-run | Replays the event log, resumes at the failed node |
| 02 | Unsafe tool: an agent reaches for a tool it shouldn't | 4-level policy hierarchy blocks the call before execution |
| 03 | Skipped approval: a high-risk action with no human gate | Run pauses, survives restarts, decision lands in audit |
| 04 | Runaway cost: a reflection loop that won't stop | Halts before crossing the cap |
| 05 | Missing audit: compliance asks what happened | Signed, exportable evidence package per run |
| 06 | Forgotten context: agent loses memory across sessions | Engram surfaces durable facts, not raw chat history |
- jamjet: Rust runtime core + Python SDK. Workflow IR, durable executor, MCP client, A2A server, eval harness, CLI.
- jamjet-runtime-java: Pure-Java agent runtime. Durable execution, crash recovery, MCP native. No sidecar.
- jamjet-spring: Spring Boot starter. Drop into a Spring AI app and get crash recovery, audit, replay testing, and HITL gates.
- java-ai-memory: Neutral comparison of agent memory libraries for the JVM.
- engram-mcp-server: Durable memory MCP server. Temporal knowledge graph, hybrid retrieval, SQLite or PostgreSQL. Ships with the SDK; runs standalone.
- jamjet-a2a: Standalone Rust SDK for the A2A v1.0 protocol. Client, server, coordinator, MCP bridge.
- jamjet.dev: Website, blog, benchmarks, comparisons.
- jamjet-docs: Documentation at docs.jamjet.dev.
- jamjet-examples: Ready-to-run workflow examples.
- jamjet-benchmarks: Head-to-head benchmarks vs LangGraph, migration guides, feature matrix.
- Apr 25: Java runtime v0.1.1. Durable execution embedded directly in your JVM.
@DurableAgentcrash recovery, MCP native, 8.9× faster than the REST sidecar in our benchmark. - Apr 8: Engram Spring Boot Starter on Maven Central. One dependency, inject
EngramClient, done. - Apr 7: Engram v0.3.1. Fact extraction, conflict detection, hybrid retrieval, consolidation. Published as
jamjet-engramon crates.io and bundled withdev.jamjet:jamjet-sdk. - Mar 29: JamJet Spring Boot Starter on Maven Central. Crash recovery, audit, replay testing, and HITL gates for any Spring AI app.
Python
pip install jamjet
jamjet init my-agent --template hello-agent
cd my-agent && jamjet devJava / Spring
<dependency>
<groupId>dev.jamjet</groupId>
<artifactId>jamjet-spring-boot-starter</artifactId>
</dependency>→ Quickstart (60s) · Compare frameworks · Why JamJet