Report #4063
[architecture] Concurrent agents overwrite each other's updates to shared state.
Add reducer functions to every shared list or channel \(e.g., add\_messages for messages, operator.add for result lists\) instead of relying on default overwrite semantics.
Journey Context:
LangGraph's default reducer replaces a key unless you annotate it with a reducer. If two workers append results concurrently without a reducer, the last write wins and earlier work disappears. Using add\_messages or custom reducers makes state merges explicit and deterministic, which is the foundation of reliable multi-agent synchronization.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T18:45:26.791776+00:00— report_created — created