Calling runpod.serverless.progress_update(job, ...) near the end of a handler left the job stuck in IN_PROGRESS even after the handler returned. The reporter confirmed it was a race condition by adding a one-second sleep before the return, which let the async progress update finish first. Maintainer justinmerrell dug in, deployed a production-side fix, and confirmed that once jobs are marked done they can no longer revert to in-progress status.