Motivation
Reading reports now read a session's conversation evidence in full (long conversations are digested by an investigation subagent), so a single report can take several minutes. Readers routinely switch away while waiting — to another app, or to another book inside Marginalia.
Current behavior
Nothing announces the outcome. The reader has to remember to navigate back to the book and check whether the report landed. A failure is even easier to miss, since the failed state looks identical until you open the report view.
Desired direction
Announce both outcomes — ready and failed — and make the notification carry the reader back to the report:
- Window focused: in-app sonner toast with a "view" action (reuses the existing
AppNotification pipeline, as memoryConsolidated does).
- Window unfocused, minimized, or closed: an Electron system notification. Clicking it focuses (or recreates) the window and navigates straight to that book's report.
- A reader-initiated cancel is not an awaited outcome and must stay silent.
Design is settled, including edge cases (no window on macOS after closing it, Notification.isSupported() false, stale generation claims) and the test surface: docs/superpowers/specs/2026-08-10-reading-report-completion-notification-design.md.
Explicitly out of scope: a preference toggle for these notifications, notifications for other background work, and putting report content in the notification body.
Source: user request 2026-08-10, following the evidence-investigation work that made generation slow enough to need this.
Motivation
Reading reports now read a session's conversation evidence in full (long conversations are digested by an investigation subagent), so a single report can take several minutes. Readers routinely switch away while waiting — to another app, or to another book inside Marginalia.
Current behavior
Nothing announces the outcome. The reader has to remember to navigate back to the book and check whether the report landed. A failure is even easier to miss, since the failed state looks identical until you open the report view.
Desired direction
Announce both outcomes — ready and failed — and make the notification carry the reader back to the report:
AppNotificationpipeline, asmemoryConsolidateddoes).Design is settled, including edge cases (no window on macOS after closing it,
Notification.isSupported()false, stale generation claims) and the test surface:docs/superpowers/specs/2026-08-10-reading-report-completion-notification-design.md.Explicitly out of scope: a preference toggle for these notifications, notifications for other background work, and putting report content in the notification body.
Source: user request 2026-08-10, following the evidence-investigation work that made generation slow enough to need this.