Route integration events to application consumers
What It Does
Applications declare consumers for provider event types at deploy. Routing claims a numbered attempt, invokes each matching consumer and records outcomes separately. Completion events restrict that selection to the application that requested the provider call.
The Flow
When Something Fails
Return registration refusal to the deployment. The preceding consumer declaration remains. Reject the complete invalid event batch. No partial batch is retained. Keep failed publication work for another pass. Repeated queue delivery is possible and must be claimed by attempt number. Retry invocation failure or an explicit retry outcome, then mark dead after the limit. Consumers already successful can be invoked again on a later attempt. The consumer contract can request retry. Application records may lag while the event remains unresolved. A settlement failure does not undo earlier consumer calls or earlier committed event results. Unrecorded outcomes need recovery even if some applications already acted.
Open Design Questions
The approved planning layer already describes repeat delivery and consumer deduplication; this design cites that obligation rather than claiming a new decision. Host effects are outside the examined code boundary.