status moves queued → processing → completed | failed. On completed the payload carries the
same per-target results as a synchronous submission.
Poll with backoff, not a tight loop — job completion is bounded by the slowest downstream target,
which for an ERP write can be seconds. And treat failed as final for that job: resubmit as a new
job with the same source order ID so downstream deduplication catches the retry.