Context
rdrop blob list shows all imported blobs and their transfer tickets, but currently does not verify that the underlying files are still present and readable on disk. This implies a blob entry becomes silently stale when the original file is deleted or moved after import, producing a ticket that will fail at transfer time (!).
Goal
Show broken blob entries at blob list time so the user knows to remove and re-import them. Expose the check as a reusable function so the daemon can apply it before serving a transfer and anywhere else it's useful before manipulating a blob.
Acceptance criteria
Out of scope
- Automatic removal of broken entries;
- Deep content verification (re-hashing the file against the stored BLAKE3 hash);
- Watching for file changes at runtime.
Context
rdrop blob listshows all imported blobs and their transfer tickets, but currently does not verify that the underlying files are still present and readable on disk. This implies a blob entry becomes silently stale when the original file is deleted or moved after import, producing a ticket that will fail at transfer time (!).Goal
Show broken blob entries at blob list time so the user knows to remove and re-import them. Expose the check as a reusable function so the daemon can apply it before serving a transfer and anywhere else it's useful before manipulating a blob.
Acceptance criteria
is_blob_readable(hash) -> boolfunction is exposed onNodeto check whether a blob's backing file is present and readable;rdrop blob listcalls this function for each entry and marks broken blobs in the output with [broken];rdrop blob remove <hash>to clean up the registry;Out of scope