[FEATURE] Desktop app: deliver PR merged/closed events to sessions watching the PR
Summary
In the Claude Code desktop app, a session that is watching a PR receives events for CI checks, reviews, and comments, but it receives no event when the PR is merged or closed. The app UI shows the PR as merged, yet the agent never learns about it. The user has to tell it manually each time.
Current behavior
- CI check status changes → the session is notified ✅
- Review / review comment / issue comment → the session is notified ✅
- PR merged / closed → no event reaches the session ❌ (even though the app's PR pane already shows "Merged")
Expected behavior
Deliver pull_request closed events (with merged: true/false) to subscribed sessions, the same way CI and comment events are delivered today.
Why it matters
Many follow-up tasks start at merge time: updating notes or changelogs, starting the next stacked PR, deploy checklists, cleaning up worktrees. Right now the agent either sits idle or has to poll with gh, which the harness discourages for CI/PR status.
Workaround
We keep a memory rule that tells the agent to check PR status once at the start of every turn. This works, but the agent only notices the merge when the user next sends a message.
Environment
- Claude Code desktop app (Code tab), macOS
- PR monitoring via the app's built-in PR binding