The sort key in find_download() called item.stat() unprotected. The
search roots include the live Downloads folder, where Chrome renames
"*.crdownload" files to their final name between directory listing and
stat(), crashing the whole export with FileNotFoundError.
Stat once while collecting (skipping entries that raise OSError), then
sort the snapshot. This also halves the stat() calls per polling round.
Fixes the remaining race reported in #4.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>