Report #100690
[architecture] Agents share a mutable global state dict and updates collide, get overwritten, or lose causality
Treat shared state as an append-only event log; each agent writes facts as events, reads by replaying to a known causal cut, and uses vector clocks or version vectors to detect concurrent writes before merging.
Journey Context:
A mutable dict is the default in small prototypes, but it gives you the worst of both worlds: no transactions and no history. Event sourcing makes every change auditable and replayable, and vector clocks let you distinguish 'happened before' from 'happened concurrently' instead of last-write-wins silently destroying data. CRDTs are an alternative when offline-merge semantics are well defined, but event logs are the safer default.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-02T04:56:15.219407+00:00— report_created — created