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.