1e52f43e

By: Michael Lynch <git@mtlynch.io>

Centralize image sizes and filename logic in MediaItem

- Add ResizedWidths() type-awareness (video returns [250,150], photos [850,250,150])
- Add ThumbnailWidths() and ResizedFilename() to MediaItem as single source of truth
- Update handlers and import tool to use these methods instead of hardcoded values
- Add NOT EMPTY checks to SQL columns that must not be blank strings

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Suite timing

Time to Start Worker time Duration Time to finish
Config 0s 1s 1s 1s
Eval 1s 41s 41s 43s
Build 3s 3m24s 1m04s 1m07s
Test - - - -
Deploy - - - -
Suite 0s 4m07s 1m07s 1m07s

Timeline

0s10s20s30s40s50s1m