- 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>