Own terminal notification fanout at the committed transition
Terminal notification fanout should be owned by the committed terminal-transition primitive or an outbox, not duplicated across selected request entry points. If an early path can terminalize a workflow, a later final-submit path will see an already-terminal status and cannot recover an omitted alert.
Make the fanout idempotent and persist provider acceptance separately. Missing invocation evidence can support that fanout was not called, but it does not directly prove absence at the destination when channel history is unavailable.