Unique checkpoint identifier (UUIDv4 assigned by the runtime).
Id of the CompiledExecutionGraph being executed.
Id of the graph run that produced this checkpoint.
Id of the node at whose boundary this checkpoint was captured.
Unix epoch milliseconds when the checkpoint was persisted.
Serialised GraphState partitions captured at the checkpoint boundary.
memory is excluded because it is always rehydrated fresh on resume.
The original user-provided input frozen at graph start.
Node-to-node communication bag value at the checkpoint boundary.
Accumulated external outputs at the checkpoint boundary.
Accumulated diagnostic telemetry up to this checkpoint.
Optional memoryOptional snapshot of the memory subsystem state at this checkpoint. When present the runtime can restore memory context without re-reading from the store.
Memory traces that were read before or during the checkpointed node.
Writes that were staged but not yet committed when the checkpoint was taken.
Results recorded when this checkpoint was taken, keyed by node id: those of the
nodes in visitedNodes and, in the checkpoint of a run that a node interrupted,
that node's, as in the checkpoint saved before an expansion that came after a
write, external or human node. A node that failed records none, so a
resume runs it again.
The node's declared effect class.
The output value produced by the node.
Wall-clock execution time in milliseconds.
Optional routeThe target the node picked itself, as a router, a guardrail that reroutes or
the exit of a voice node does. A resume that marks the node complete with this
result, as it does a write, external or human node such as a voice node,
goes there rather than evaluating the node's edges. routerNode() and
guardrailNode() build pure nodes, which a resume never marks complete from
a recorded result: one the checkpoint does not list as completed runs again and
picks its target anew.
Ordered list of node ids that had completed execution when this checkpoint was taken.
Optional skippedOrdered list of node ids that were explicitly bypassed by routing decisions (for example, the non-selected arm of a conditional branch).
Persisting this list is required for correct resume semantics on branched graphs: otherwise a resumed run cannot distinguish "not run yet" from "intentionally skipped" and may stall on dead branches.
Ids of edges that had been emitted but whose target nodes had not yet started.
A complete, serialisable snapshot of a graph run captured at a node boundary.
The store persists one
Checkpointpersave()call and makes them queryable byrunId(latest or bynodeId) so the runtime can restore execution state after a crash or perform time-travel debugging.