bd help --doc merge-slot.
Merge-slot gates serialize conflict resolution in the merge queue.
A merge slot is an exclusive access primitive: only one agent can hold it at a time.
This prevents “monkey knife fights” where multiple polecats race to resolve conflicts
and create cascading conflicts.
Each rig has one merge slot bead: <prefix>-merge-slot (labeled gt:slot).
The slot uses:
- status=open: slot is available
- status=in_progress: slot is held
- metadata.holder: who currently holds the slot
- metadata.waiters: priority-ordered queue of waiters
bd merge-slot acquire
Attempt to acquire the merge slot for exclusive access. If the slot is available (status=open), it will be acquired:- status set to in_progress
- holder set to the requester
bd merge-slot check
Check if the merge slot is available or held. Returns:- available: slot can be acquired
- held by <holder>: slot is currently held
- not found: no merge slot exists for this rig