Scene 4b’s run: fetch what is missing and verify it, writing nothing to the
game folder, so the cache can be filled now and installed from later. A
package that still fails after its retries is recorded and the rest carry
on. The worker opens its own handle on the cache; the UI reopens its own
afterwards.