FinalizationNotifier
Builds + posts the DISMISSIBLE finalization notification (#264): when a tracked operation finishes (success / pending / failed), the user — who may have left the app — gets a notification they clear THEMSELVES, so they know the transaction landed. Distinct from SyncNotifier's ONGOING progress notification: its own channel, NOT ongoing, auto-cancels on tap, alerts once.
Labels follow #259: the operation's caller-provided label (or the kind default via defaultLabelRes) renders the title; the terminal status renders the body — the SDK emits enums, the host strings.
Functions
Clear the only-latest completion slot — called when a new operation starts so a stale non-value completion can't linger or be mis-tapped during the next op. Value-transfer (Send) finalizations live in their OWN ids and are deliberately NOT cleared here: each sent transaction is a record the user dismisses themselves.
Create the finalization channel once (idempotent). DEFAULT importance: alerts once, dismissible.
Post the finalization notification for outcome (no-op if notifications are denied).