Change detection, not re-notification
Each refresh compares against the last good snapshot with deterministic rules — no model inference. An unchanged source produces no events and no alerts. A genuine change produces exactly one event and one alert, and concurrent refreshes are serialized so nothing is duplicated.
- Licence status, identifier added or removed, recall matched, FDA decision, device name, holding company, product code and class changes
- Company changes: published name, address and country
- Info, Attention and Critical severity, with unread tracking and read/unread filtering