- Move mask.unsqueeze(0) outside else branch in GrabCutRefinement.refine_mask
(same bug pattern fixed in AutoGrabCutRemover, line 841)
- Replace bare `continue` in batch validation loop with fallback tensor append
to prevent torch.stack crash on empty list and bbox_metadata misalignment
- Derive exception-handler fallback h,w from input tensor instead of first
processed item to avoid shape mismatch across batch items
- Guard FFT peak_ratio division against zero mean on uniform images
- Remove dead edge_threshold field from GrabCutParams (never passed from nodes)
- Log warning when Pydantic validation is unavailable instead of silent skip