- upsert_job now receives error_msg= on failure → debug possible
- Guard before run_inference: skip segments with stage04=degraded,
mark as skipped instead of attempting inference on bad frames
- Addresses: 10 orphan error records from iter-5 batch (6 were degraded at 04,
4 had transient SSH failure with no trace in DB)
Author: Poulpe <claude@nowyouknow.fr>