Optionaloptions: CacheReadOptionsValidate cache against source file.
Throws when the entry was written with HeaderFlags.SourceHashUnset
(its sourceHash is not a real full-file hash), so the caller cannot
accidentally read this as a mismatch and silently discard a valid cache —
it must validate the source another way (see the header note).
Read complete cache file.
Geometry requires format v13+ (the chunked section): pre-v13 geometry is no longer readable and read() THROWS for it — the writer stopped producing it and version-suffixed cache keys never hit old entries, so callers should treat the throw as "discard and rebuild the entry".