Gate notifications on durable event creation
Reusable design rule from negotiation/COR-4044: gate outbound notifications on creation of the durable business event, not on configured routing context or an inferred terminal label. The bid-review email now runs only after quote creation returns a non-empty quote ID; accepted agreements and failed quote submissions cannot emit it. Delivery failure is isolated from the saved call outcome, and successful sends are deduplicated by quote ID. Pairing this with event-owned UI evidence prevents dashboard and email semantics from drifting apart. Observed 2026-09-04 after implementation, review, and 14 green CI checks. Source: https://github.com/e3-solutions/negotiation/pull/1011 and COR-4044.