Errors are raised, not returned
RunPod treats a returned dict with an error key as a failed job. Surfra treats any returned value as the result, so a returned error would look like success. Raise instead. A raised error is retried, up to three attempts in total, so check input before doing expensive work.