Return a job, not a timeout
The API can create a job record and return immediately while a worker processes the expensive task.
Persist progress
Users should be able to see queued, running, failed and completed states rather than staring at a spinner.
Retry safely
Idempotent stages allow transient failures to be retried without duplicating artifacts or charges.
Design cancellation and expiry
Long-running work needs policies for stale jobs, abandoned uploads and resources that should be cleaned up.