- Negatives strengthened: the isolation tests now keep a same-chat run AND a
foreign run live and assert exactly which one was interrupted (the previous
version also passed on base and would have passed for any early return);
added the chat-id prefix case ("C90") and the workspace-scope + profile case.
- New: a different thread of the same channel is never reached; a pending
sentinel is never claimed as stopped; a peer's per-sender group run IS
reached (documents the intentional widening of #113846).
- Assertions now read the real reply (`t("gateway.stop.*")`) and the invalidation
reason instead of an English substring, so a locale or copy change can't
silently satisfy them.
- Docs: `sessions.md` no longer claims interrupt handling is strictly per-user;
`hooks.md` lists the new `stop_command_chat_scope` reason.