bcd1e6f1

By: Michael Lynch <git@mtlynch.io>

Tighten FileID type and rename OriginalExt to StoredExt

- FileID is now a struct validated against lowercase UUID format on
  construction; NewFileID returns (FileID, error)
- Rename OriginalExt to StoredExt and return error on unknown media type
  to reflect that the extension is post-conversion, not the upload original
- Replace magic numbers 850/250/150 with named display-width constants
- Wire thumbnail width constants into the browse template sizes attribute

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
configuredevShellbackendbackend-devcheck-bashcheck-frontendcheck-go-formattingcheck-go-test-packagescheck-trailing-newlinecheck-trailing-whitespacediagramdocker-imagee2e-testsgo-testsimport-from-tinybeanslint-sqllittle-momentslittle-moments-devx86_64-linux