Publishes DocumentDeletingEvent from DocumentService.deleteDocument before deleteById; JourneyItemDocumentDeleteListener handles it synchronously so note-less items are gone before ON DELETE SET NULL fires on note-carrying rows. Plain @EventListener chosen over AFTER_COMMIT (fires too late) and @Async (breaks rollback atomicity) — see ADR-038. Adds DOCUMENT_DELETED to AuditKind. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>