How do I avoid breaking already-good product photos?
Three guardrails. (1) Skip on hash match, if the SHA-256 of the input matches a record in your processed-images table, no-op. The worker keeps a small SQLite of every image it’s seen. (2) QA the alpha-channel after rembg, if the cutout has < 5% non-transparent pixels, the background-removal failed catastrophically; bail and keep the original. (3) Per-SKU opt-out attribute, add a skip_image_pipeline product attribute (yes/no). For your professionally-shot SKUs, flip it to yes and the observer skips them. The first two are automatic; the third is for SKUs where you trust the source more than the pipeline.