scan.py used scalar_one_or_none() to test whether any other photo shared the same file_hash, but that helper raises MultipleResultsFound the moment 2+ rows match — i.e. exactly the duplicate case it was trying to flag. Every file beyond the second copy bombed out with "Multiple rows were found when one or none was required" and was left in the failed bucket. Replace with a COUNT(*) > 0 check. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
18 KiB
18 KiB