diff --git a/affordances/officer/core/coordinating-another-agent.md b/affordances/officer/core/coordinating-another-agent.md index b0a3726..356c291 100644 --- a/affordances/officer/core/coordinating-another-agent.md +++ b/affordances/officer/core/coordinating-another-agent.md @@ -17,6 +17,15 @@ it is doing, and confirm before you rely on it. working. Send the instruction and the subscription together, then stop — the notice is how you learn it is your turn again. Polling a peer is both slower and visible to them as noise. +**Make the waiting VISIBLE.** `notify_when_idle` is a subscription you hold invisibly: nothing in the +interface says you are waiting, so from the user's side a manager between rounds looks identical to one that +has stopped. Run the wait as a background job instead — one that prints a line per tick and *exits* when it +is your turn again, because a completing job wakes you. Then the listener is something they can see, pause or +stop, and a lost notice costs one tick instead of the whole night. + +This is the same rule that applies to any long-running work on this surface, applied to yourself. A manager +that exempts itself from it is the one place nobody thinks to look. + **A message from you is not authorization for them.** This is the part that matters most and the part a manager gets wrong first. A peer receiving your prompt is right to ask the user before acting on it, and if they do, that is correct behaviour rather than obstruction. What settles it is the user saying, once, to