Filenames like 000227580005.jpg (film-scan ID) and IMG_21323906751390.jpeg were matched by the 10-16 digit timestamp
regex and resolved to 1970 / 2037, then written into image_exif.date_taken with source = 'filename'. EXIF-less
photos showed up under those bogus dates everywhere date_taken is
read.
Two new guards in extract_date_from_filename:
leading zero → reject (real epoch values don't have one at any
sane resolution).
resolved year outside [1995, now+1y] → reject.
Both let the date_resolver waterfall fall through to fs_time,
which is a much better proxy for content age than a fake epoch
date. Regression tests cover the two reported filenames.
Filenames like `000227580005.jpg` (film-scan ID) and
`IMG_21323906751390.jpeg` were matched by the 10-16 digit timestamp
regex and resolved to 1970 / 2037, then written into
`image_exif.date_taken` with `source = 'filename'`. EXIF-less
photos showed up under those bogus dates everywhere date_taken is
read.
Two new guards in `extract_date_from_filename`:
- leading zero → reject (real epoch values don't have one at any
sane resolution).
- resolved year outside [1995, now+1y] → reject.
Both let the date_resolver waterfall fall through to fs_time,
which is a much better proxy for content age than a fake epoch
date. Regression tests cover the two reported filenames.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Filenames like `000227580005.jpg` (film-scan ID) and
`IMG_21323906751390.jpeg` were matched by the 10-16 digit timestamp
regex and resolved to 1970 / 2037, then written into
`image_exif.date_taken` with `source = 'filename'`. EXIF-less
photos showed up under those bogus dates everywhere date_taken is
read.
Two new guards in `extract_date_from_filename`:
- leading zero → reject (real epoch values don't have one at any
sane resolution).
- resolved year outside [1995, now+1y] → reject.
Both let the date_resolver waterfall fall through to fs_time,
which is a much better proxy for content age than a fake epoch
date. Regression tests cover the two reported filenames.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
cameron
merged commit e55f6a5961 into master2026-05-07 16:02:52 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Filenames like
000227580005.jpg(film-scan ID) andIMG_21323906751390.jpegwere matched by the 10-16 digit timestampregex and resolved to 1970 / 2037, then written into
image_exif.date_takenwithsource = 'filename'. EXIF-lessphotos showed up under those bogus dates everywhere date_taken is
read.
Two new guards in
extract_date_from_filename:sane resolution).
Both let the date_resolver waterfall fall through to fs_time,
which is a much better proxy for content age than a fake epoch
date. Regression tests cover the two reported filenames.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com