SOAP entries often have an empty actor while OData entries have a code
like 'NKS'. After name resolution, one becomes 'Nikita Soldatov' and
the other stays empty — producing different signatures and causing
duplicates. The actor is not a reliable dedup field since the same
event can have different actor representations across sources.
Dedup now uses: ticket_no + timestamp_iso + type + message_hash.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>