mirror of
https://github.com/langchain-ai/langgraph.git
synced 2026-09-30 13:35:09 +02:00
Exit durability stores a run's delta writes on the checkpoint it started from, under step-prefixed task ids. When that checkpoint already held writes (a resume after a parallel interrupt), the accumulator stored the loaded writes a second time, so every later read replayed them twice. Skipping them alone is not enough: the loaded writes keep their real task ids, which sort after the step-prefixed ones. Store the checkpoint's own superstep as sync durability does (real task id and path), so it interleaves with the loaded writes by task path, and give later supersteps a task path that sorts after every real one, in step order. Savers that take no task path keep the previous encoding.