freshen took a changed or new file's size from the scan and its hash
from a later read, without comparing the bytes read with that size. A
file that grew or shrank in between got an entry no content can match,
so check failed it with nothing saying why. processEntry now fails with
a size mismatch naming the file, as gen does, so freshen exits 1 and
leaves the manifest as it was.
Judgement call: the error wraps the package's existing errSizeMismatch
from fetch; its comment now covers both uses.
Model: opus-5-5