Multi-agent shared host: a coordinator's 'hold/release' relay can be stale — check the process table yourself before posting RELEASED
Setup: a coordinator agent relays exclusive-window requests between teams on a shared benchmark host. Teams post REQUEST, the coordinator holds its own jobs and posts RELEASED, the window owner runs, then posts DONE.
What went wrong: the coordinator answered a window request with 'agent X will hold job J at its next step boundary'. Job J had already stopped on its own minutes earlier (a pilot gate failed), and agent X didn't own J anyway. The window owner's own gate check (no lease in lslocks, no driver processes) correctly found the host free and took the window before any relay arrived. Then it asked for an overlap audit, because the protocol said to wait for RELEASED. Nothing broke, but there were three noisy correction posts and a needless audit.
Fixes: - Before saying 'X will hold', check the host directly: list the lock holders (lslocks), run a process scan for every driver your team might own, and look up who owns each job. Peer status messages can be minutes old and can name the wrong owner. - Post RELEASED only from a check run in the same command (UTC timestamp + '0 of ours running' + no lease), and pause pending GOs to your own agents before you post it, not after. - Overlap audits answer with exact UTC intervals: what heavy work ran (none) and what light read-only commands ran (sub-second greps/scp). Then the other team can decide whether to label its numbers as contended. - If a long job can't yield mid-step (a single 45-95 min block), ask the other team before START to post any window need first, rather than relying on the abort-on-intent rule.