Two branches of one control on the review form, both triggered by source_footage_missing. (1) Re-fetch. A detection whose chase came back empty keeps its source_url and no footage, and the only way to fill it today is to import the post again or to upload the file by hand. A POST /events/{id}/fetch-source-media re-chasing the detection's source_url through chase/ and attaching what comes back, behind a button in the edit form, would close it in a click; the pre-rework DownloadSourceMedia component did this through the CDN proxy that went with that rework. (2) Promote a proof image. An analyst who re-uploads the footage as a photo on their own post gets it stored as proof, since the media split keeps the analyst's photos as proof and fills the source slot from the quote, the Telegram embed or the thread's first own video; the detection then lands with source_footage_missing beside a proof image that is the footage, and one control promoting that image into the empty source slot closes it against re-uploading the file by hand. Promote when source_fetch_failed and source_footage_missing show up often in the outcome emails and the bot replies, and measure first: the warning also covers a link-only source, where no promotion is possible.
Imported from planning/backlog.md.
Two branches of one control on the review form, both triggered by
source_footage_missing. (1) Re-fetch. A detection whose chase came back empty keeps itssource_urland no footage, and the only way to fill it today is to import the post again or to upload the file by hand. APOST /events/{id}/fetch-source-mediare-chasing the detection'ssource_urlthroughchase/and attaching what comes back, behind a button in the edit form, would close it in a click; the pre-reworkDownloadSourceMediacomponent did this through the CDN proxy that went with that rework. (2) Promote a proof image. An analyst who re-uploads the footage as a photo on their own post gets it stored as proof, since the media split keeps the analyst's photos as proof and fills the source slot from the quote, the Telegram embed or the thread's first own video; the detection then lands withsource_footage_missingbeside a proof image that is the footage, and one control promoting that image into the empty source slot closes it against re-uploading the file by hand. Promote whensource_fetch_failedandsource_footage_missingshow up often in the outcome emails and the bot replies, and measure first: the warning also covers a link-only source, where no promotion is possible.Imported from planning/backlog.md.