X_NOTIFY_CHANNEL_DUPLICATE
Means
two deliveries share one channel name
Typical cause
two deliver entries naming the same channel. Refused because the delivery ledger's unique index is (notifier, key, channel, coalesce(recipient, '')): the second delivery would claim a row the first already owns and be dropped as a duplicate, so one of the two would silently never send
Fix
give the second channel its own name on notifier("<name>") — deliveryChannel('<name>-digest', …) — or merge the two deliver entries