Skip to content

Notify the reader when a reading report finishes generating #107

Description

@EurFelux

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:aiAI chat, tools, promptsarea:uiUI components & design systemenhancementNew feature or request

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions