Gallery-level skip: store file_count/total_bytes per gallery, skip
entirely when unchanged. Batch existence check: one query per gallery
instead of per image. File-size fast path: stat-only skip when filename
and size match stored values. Two-stage pipeline: separate IO and ML
concurrency (--io-concurrency flag).
Adds `rbv backfill` to populate file_size and gallery stats from disk
without ML, so skip optimisations are effective immediately after upgrade.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>