59e00b9a

By: Michael Lynch <git@mtlynch.io>

Inject photo converters from main, not convert package

Move the choice of images.StripMetadata and convert.WriteGIFToAnimatedAVIF
into main, the composition root, via a small func-backed adapter to the
uploads.MediaConverter interface. Removes convert.Converter, which hid that
wiring inside the convert package.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Suite timing

Time to Start Worker time Duration Time to finish
Config 1s 8s 8s 10s
Eval 7s 1m08s 1m08s 1m16s
Build 13s 12m21s 1m39s 1m53s
Suite 1s 13m38s 1m51s 1m53s

Timeline

0s10s20s30s40s50s1m1m10s1m20s1m30s1m40s1m50s