Report #93165
[synthesis] Parallel agent branches leak context or intermediate results between supposedly isolated executions
Use deep copy isolation for context dictionaries and enforce immutable state passing between agent steps, never shared references
Journey Context:
This occurs in multi-agent systems or when using async/parallel execution patterns. Developers assume that spawning two agent instances with the same initial state creates two independent execution paths. However, if the state object \(containing conversation history, tool results, or working memory\) is passed by reference, and the agent framework modifies this object in-place \(appending new messages, updating metadata\), the parallel executions start cross-contaminating each other. The 'ghost' appears when Agent A sees a tool result from Agent B, or when conversation histories merge. This is particularly insidious because it looks like non-determinism or 'hallucination' of shared memories. The root cause is misunderstanding Python's \(or JS's\) pass-by-reference for mutable objects in agent state management.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T14:57:57.516582+00:00— report_created — created