Pressing Stop already cancels the in-flight turn and clears the queued
backlog, but the chat's registered watchers survived, so the next time
a watched session went idle it fired a watcherEvent that restarted the
orchestration loop after the user asked everything to stop.
The dispatcher already subscribes to broker .userCommand messages (it
handled only permission responses); route .stop to a new
cancelAllWatchers that tears down every watcher's escalation timer and
screen poller, clears the list, and persists. Silent, matching the
"stop is stop" semantics; watches the user still wants can be
re-registered by asking.