This example answers a replacement-order request using customer memory. An old
San Francisco address outranks an active Oakland correction, so the untreated
agent proposes the wrong shipping city. The repair excludes superseded memory
and prefers the current fact.
It demonstrates the complete adopter contract:
- A real LangGraph
StateGraph, InMemoryStore, and MemorySaver.
- Automatic replay-checkpoint attachment at an explicit graph boundary.
- Isolated baseline and treatment runtimes.
- One executor module used by Studio and regression execution.
- OpenAI Responses generation when developer credentials are present.
- A deterministic offline generator for CI and local verification.
Run locally
From examples/langgraph-support-agent in a clone of the Engram repository:
In another terminal:
Open the direct incident URL printed by the CLI. The executor first reproduces
the stale San Francisco answer, then reruns the isolated treatment and verifies
the Oakland answer.
Use a real model
The key stays in the developer’s process. Engram does not proxy or host model
credentials.
Verify without paid calls
This still runs the actual graph and retrieval policy. Only answer wording uses
the deterministic generator.
The example reconstructs fresh in-memory state for every variant. Production
executors must provide equivalent isolation for their real checkpointer, Store,
tools, and network side effects. Never point replay at mutable production state.