**Step 9 is carried, not observed**, and was not declared so up front. Both arms are blocked by this box rather than by the change, each proven by a control:
- Desktop: no window manager here, so the app's window always reports focused and `DesktopNotifier` returns before composing anything. A plain message from the phone raised nothing either, with `notify-send` recorded on PATH — so no desktop notification of any kind can be raised on this machine.
- Browser: `Notification.permission` reads `denied` in Chromium as this box runs it, which makes `Browser.kt`'s `showNotification` a no-op for a message exactly as for a reaction.