Part of making session and agent coordination on by default (owner direction, 2026-09-13). The primitive exists; this wires or extends it, and does not add a parallel one.
#15948 (waitlist, yield request over a2a, arbitration) and #15987 (branch stewardship) shipped their primitives with tests. None has a production caller on main:
autobot_shared/coordination/claim_waitlist.py: join, invite_next_waiter;
autobot-backend/services/claim_yield.py: request_yield;
autobot_shared/coordination/branch_stewardship.py: acquire_aware.
When hold_scopes is refused, the agent gets a bare conflict and nothing else happens.
Acceptance criteria
Implementation Order
Wave: 2
Depends on: #15950
Parent: #15946
Part of making session and agent coordination on by default (owner direction, 2026-09-13). The primitive exists; this wires or extends it, and does not add a parallel one.
#15948 (waitlist, yield request over a2a, arbitration) and #15987 (branch stewardship) shipped their primitives with tests. None has a production caller on
main:autobot_shared/coordination/claim_waitlist.py:join,invite_next_waiter;autobot-backend/services/claim_yield.py:request_yield;autobot_shared/coordination/branch_stewardship.py:acquire_aware.When
hold_scopesis refused, the agent gets a bare conflict and nothing else happens.Acceptance criteria
hold_scopesjoins the scope's waitlist, sends one yield request over the task's existing a2a channel (no new bus), and waits up to the env-backed timeout. Silence resolves tohold, as the doctrine states.acquire_aware, and the result carries the steward warning.Implementation Order
Wave: 2
Depends on: #15950
Parent: #15946