In crates/downloader/src/main.rs, mark_failed() only writes to error_message and never changes the status column. Failed downloads stay in 'discovered' indefinitely — the 'failed' status enum value is dead code for the downloader, and there's no way to distinguish "never tried" from "tried and failed."
Fix: Set status = 'failed' in the mark_failed UPDATE query alongside the error_message write.
In
crates/downloader/src/main.rs,mark_failed()only writes toerror_messageand never changes thestatuscolumn. Failed downloads stay in'discovered'indefinitely — the'failed'status enum value is dead code for the downloader, and there's no way to distinguish "never tried" from "tried and failed."Fix: Set
status = 'failed'in themark_failedUPDATE query alongside theerror_messagewrite.