SIGN IN SIGN UP

fix(core): enforce sync durability barriers (#2604)

## Summary

Makes `durability: "sync"` enforce its superstep boundary: persistence
produced by a completed superstep must settle before the scheduler
prepares and dispatches the next one. Previously, persistence was
tracked and awaited at final cleanup but could overlap later supersteps.

## Changes

- Snapshot and await the current run's tracked `putWrites()` and ordered
checkpoint `put()` promises after each completed superstep when
durability is `sync`.
- Preserve asynchronous and exit-only durability behavior, including the
existing final persistence settlement path.
- Add gated `StateGraph` regression coverage for `invoke`, `stream`, and
`streamEvents`, plus coverage that async mode may progress while
persistence is pending.
- Add a patch changeset for `@langchain/langgraph`.
H
Hunter Lovell committed
42ec39460bfe0c3be017fb043c668c3204c8a175
Parent: dac8c2f
Committed by GitHub <noreply@github.com> on 7/15/2026, 2:12:09 AM