Durable Objects are deceptively simple: a class, a bit of storage, and strong single-object consistency. After a year of building agent platforms on top of them, three patterns show up again and again.
At-most-one
When an operation must never run twice concurrently — activating an agent, claiming a lane — I lean on a partial unique index or a stored flag inside the object. The object’s serialized execution turns “at most one” from a distributed-systems problem into a local one.
Single-writer
Every piece of state has exactly one object allowed to write it. Readers go through the object or through a projection it publishes. This removes a whole category of race conditions before they exist.
Durable replay
Long-running work is modeled as an append-only log inside the object. If the object hibernates or a client reconnects, I replay the log to rebuild state. Clients become thin: they subscribe and render whatever the log says.
None of these are novel. The point is that Durable Objects make them cheap, and cheap invariants are the ones you actually keep.