Follow each horizontal color row by overlap with its previous frame (with a position fallback for whole-page moves on multi-row grids), skip reverse sweeps when rows share one container, and keep the earliest abnormal COLOR_DISCOVERY reason. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NTDbDcwbDw1TSAcE6wfh2F