ADR-025: Multi-Agent Lock Coherence and Lease Propagation
ADR 025: Multi-Agent Lock Coherence and Lease Propagation
Section titled “ADR 025: Multi-Agent Lock Coherence and Lease Propagation”Status
Section titled “Status”Proposed (2026-04-23)
Context
Section titled “Context”As Vox moves toward multi-agent environments (multiple agents working on the same task or in the same workspace), resource contention (not just file-level) becomes a risk. We need a way to lock generic resources (URIs, DB rows) and propagate these locks across the bulletin board.
Decision
Section titled “Decision”We extend the locks subsystem with a ResourceLockManager:
- Generic Resource IDs: Locks can be held on arbitrary strings (URIs).
- Lease-based Expiration: All locks have a mandatory TTL to prevent deadlocks from crashed agents.
- Bulletin Synchronization: Lock acquisition and release events are broadcast as
AgentMessagevariants to ensure all agents are aware of the coherence state.
Consequences
Section titled “Consequences”- Agents can safely coordinate on non-file resources.
- The system is resilient to agent failures via lease expiration.
- Real-time visualization of resource contention is possible via the bulletin board.