What I don’t like about this is that you need to cancel your runs on “directory boundaries”. I.e., if 3 of 5 files are unpacked, you cancel, the next run will skip the directory even though 2 files are still missing.

Handling this case properly is too complex, so that the entire optimization is not worth it. Can you remove it?