Framework-side resolution of an order gate (onOrderSync) or order check (onOrderCheck),
discriminated by reason.
Adapters/listeners do NOT construct this union — they signal via return/throw
(return normally or true = confirmed; throw a non-typed error = transient;
throw OrderRejectedError / OrderDeletedError = terminal). The framework collapses
those signals into this verdict and routes on it:
reason: "transient"
Unknown/temporary failure — bounded retry / tolerance window
error: unknown
The failure that produced this verdict, when available