.agents/rules/modules/notifications.md
Per-user in-app inbox (bell icon) driven by cross-module integration events, with live SignalR push. Module Order = 750 (before Chat 800 so its handlers are registered before Chat publishes).
Entities / DbContext: Notification (aggregate: UserId, Type, Title/Body/Link, Source, MetadataJson, ReadAtUtc). NotificationsDbContext. Consumes integration events from other modules (e.g. Chat's MentionedInChannelIntegrationEvent).
Areas: List, GetUnreadCount, MarkRead, MarkAllRead. Full list: Features/v1/ or /scalar.
AddIntegrationEventHandlers), not from new endpoints. The handler writes an inbox row and pushes "NotificationCreated" to SignalR group user:{userId} via IHubContext<AppHub>.Order.eventing.md.MarkRead is idempotent (ReadAtUtc ??= now).