Notifications
The Notifications page is the central place to review alerts, warnings, and informational messages generated by SpecWeave. Notifications are created when imports complete, sync discrepancies are found, tasks fail, or other noteworthy events occur.
KPI Summary
Four cards summarize the notification state:
- Pending -- notifications that have not been dismissed.
- Critical -- pending notifications with
criticalseverity. - Warnings -- pending notifications with
warningseverity. - Dismissed -- notifications that have been acknowledged.
Filter Bar
Three filter tabs let you control which notifications are visible:
| Filter | Shows |
|---|---|
| Pending | Only undismissed notifications (with count) |
| Dismissed | Only dismissed notifications (with count) |
| All | Every notification regardless of status (with count) |
A Dismiss All button appears to the right of the filter bar when there are pending notifications. It dismisses every pending notification in sequence.
Severity Levels
Notifications use three severity levels that determine their visual treatment and sort order:
| Severity | Icon | Border Color | Sort Priority |
|---|---|---|---|
| Critical | Warning triangle | Rose (red) | Highest -- always shown first |
| Warning | Circle with exclamation | Amber (yellow) | Medium |
| Info | Circle with "i" | Blue | Lowest |
Notification List
Notifications are sorted by severity (critical first, then warning, then info) and grouped under severity headers. Within each severity group, notifications are sorted by creation time with newest first. Each group shows a label and count.
Each notification card displays:
- A severity icon (triangle for critical, circle-exclamation for warning, info circle for info).
- A colored left border (rose for critical, amber for warning, blue for info).
- The notification title in bold.
- A severity badge and a type badge.
- The full message text (when available).
- Metadata: creation timestamp, source attribution, and dismissal timestamp (for dismissed items).
- A Dismiss button on the right side (only for undismissed notifications).
Dismissed notifications appear at reduced opacity to visually distinguish them from active ones.
Empty State
When no notifications match the current filter, an empty state is displayed with a bell icon and contextual text explaining when notifications appear (imports, discrepancies, sync failures).
Dismissing Notifications
Click the Dismiss button on any individual notification to mark it as dismissed. The button shows a loading indicator while the dismiss request is in flight. Once dismissed, the notification moves to the Dismissed tab and gains a dismissal timestamp.
The Dismiss All button processes every pending notification sequentially and then refreshes the list.
Real-Time Updates
The page subscribes to the notification SSE event. When a new notification is created (e.g. by a background sync or import operation), the list refreshes automatically.
Notification Sources
Notifications are generated by various SpecWeave subsystems:
- Sync engine -- import completions, sync failures, and permission denials.
- Validation -- spec or config validation warnings.
- Marketplace -- skill verification results and scanner alerts.
- Hooks -- hook execution failures and permission blocks.
Each notification includes a source field that identifies which subsystem created it.
Launching
Run specweave dashboard to open the SpecWeave dashboard. Navigate to the Notifications page from the sidebar. Notifications are project-scoped and reflect the currently active project.