Never writes anything. A cache miss here does not self-heal the cache --
only an explicit write (generateEnvArtifacts()'s evidence option)
refreshes the committed artifact and its fingerprint together, so "when
was this last regenerated" stays under explicit control, never an
implicit side effect of a read. Two independent callers hitting the same
stale cache both recompute independently; neither one's recompute updates
the file the other reads.
Trusts the committed evidence artifact at
options.locationonly when its paired.fingerprintsidecar matches a freshly (cheaply) computed computeSourceFingerprint -- never on file presence alone, never on a timestamp. On any mismatch (stale fingerprint, missing/corrupt evidence file, no fingerprint sidecar at all), falls back to a realgenerateEvidenceModel()call -- never hard-fails, never silently serves data that might be stale.