Execution ID as Concurrency Lock — Two Concurrent Requests

Request A Resource Record Workflow Engine Request B start workflow (mutate resource X) locked_by = exec-A-9f2 LOCKED (exec-A-9f2) start workflow (mutate resource X) is exec-A-9f2 still live? yes, still running rejected: resource locked, retry later exec-A-9f2 completed locked_by = null (free) Only the orchestrator clears the lock — never a retriable activity step

The execution ID doubles as the lock token. Request B is rejected purely by checking whether resource X's owning execution is still alive.