RelayG is a production triage agent rebuilt as a LangGraph state machine. An LLM classifies the ticket, pure Python applies refund policy, and interrupt() pauses the graph mid-node when a human needs to sign off. State survives the pause via a SQLite checkpointer.
Interactive simulation running the same policy rules in JavaScript. The real Python implementation with SQLite checkpointing is on GitHub.
The whole graph is four edges. The interesting part is the interrupt inside act: the run is checkpointed to SQLite and resumed later with the human verdict injected.
RelayG is a rebuild of Resolvd, the same triage agent originally built on n8n. The comparison is the point.
State flows through every node as a typed schema and is checked while you write the code, not discovered broken at runtime inside a workflow canvas.
interrupt() suspends mid-node, the checkpointer persists the run, and Command(resume=...) continues from the same checkpoint with the human verdict injected. In n8n you approximate this with webhooks, wait nodes, and state stuffed into a database by hand.
The whole graph, including the interrupt and resume path, is covered by pytest. The honest tradeoff: you give up the visual editor and drag-and-drop integrations and take on code ownership.