# Plan: Notifications (#71) + @mentions (#72) ## Context ### Existing code that matters - `DocumentComment` — entity with `id`, `documentId`, `annotationId`, `parentId`, `authorId`, `authorName`, `content`, `replies` (transient). No mention storage yet. - `CommentService` — `postComment`, `replyToComment`, `editComment`, `deleteComment`. Returns `DocumentComment` directly (no response DTO). - `CreateCommentDTO` — only has `content`. Needs `mentionedUserIds` added. - `AppUser` — has `id`, `username`, `firstName`, `lastName`, `email`. No notification preferences yet. - `PasswordResetService` — uses `JavaMailSender` (`@Autowired(required = false)`) + `SimpleMailMessage`. `NotificationService` follows the exact same pattern. - Latest migration: `V13__add_file_hash.sql`. - `CommentThread.svelte` — uses fetch-based API calls (not SvelteKit form actions), plain `