Report #103124
[architecture] How do I assign unambiguous ownership of state and resources so concurrent agents don't race or corrupt shared data?
Model every agent as an actor: each owns its own state, mutates it only in response to messages, and interacts with others exclusively through asynchronous, immutable messages sent to named addresses.
Journey Context:
Shared mutable state forces you into locks, race hunts, and unclear ownership boundaries. The actor model \(Hewitt, Bishop, Steiger 1973\) makes ownership the default: an actor can send messages, spawn actors, and update its own behavior/state, but it can never touch another actor's state. That eliminates data races by construction and isolates failures. The tradeoff is that global reads become distributed queries; you lose the convenience of a shared variable. Shared-memory threads or STM keep global state convenient but reintroduce contention and make ownership implicit. Use actors when agents are long-lived, autonomous, and must keep working when peers fail.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-10T05:03:08.306271+00:00— report_created — created