V1.2.4 — re-run + write recovery
1. Ignore cache clears seen_emails (+ processed list) so same list can re-export
2. Final status shows skipped_already_exported and tip to enable Ignore cache
3. Domain exception → emails to review.csv with reason check_error (no lost rows)
4. CSV write failure increments write_errors; Failed if zero rows written
5. Cross-process lock file per output CSV (two windows)
6. Startup warning if dnspython missing; UI label for Ignore cache clarified
