navi-notifier-core — the provider-agnostic heart of navi.
It defines the normalized [model] every provider maps into, the [traits]
(Source, Notifier,
StateStore) that providers implement, the [rules]
filter layer, and the [engine] that ties a poll into filtered, deduplicated
delivery. It has no knowledge of GitHub, Slack, SQLite, or async transport
details beyond the trait boundaries.