OnRejected
A handler of a Saga for the rejection of a command the saga derived or called: it takes a me.ahoo.wow.api.subscribe.CommandReceipt.Rejected of the command's type (or of *, for every command the saga sends) and, optionally, the SagaContext (or the SubscriptionContext it extends), and returns the commands that compensate, as an OnEvent handler of a saga does. A rejection is a business outcome: the runtime hands it here instead of parking the aggregate, whether the command was rejected in the saga's own context or in another, whose receipt comes back, and whether the handler derived it or called it (SagaContext.call) and let its rejection through.
A receipt of the saga's own context is handled inside the handling of the @OnEvent handler that derived the command: under that handler's (or its processor's) @Retry budget, parked under that handler's subscription, and a retry runs that handler again, whose deterministic ids make it harmless. A receipt from another context is handled in the context's receipts subscription, wow.receipts.<context>, under the host's retry for that name. It takes no @Retry: its budget never depends on where its command went.
A handler of both receipts of a command is annotated OnCommitted too and takes a me.ahoo.wow.api.subscribe.CommandReceipt of the command's type; each annotation declares its own path.