Reads and validates manifest.json, re-probes every spatial file, and returns
the mif. Validation happens up front so that a moved, truncated or
half-written store fails immediately with a message naming the sample, rather
than as a confusing error partway through a long computation.
