diff --git a/docs/how-to/export-dataset-snapshot.md b/docs/how-to/export-dataset-snapshot.md index 68b0e38b..c15cf434 100644 --- a/docs/how-to/export-dataset-snapshot.md +++ b/docs/how-to/export-dataset-snapshot.md @@ -63,9 +63,9 @@ media paths are relative to the export directory. The JSON marker is written last and the completed directory is activated atomically. Under the same format version `1`, an additive `integrity` block records -delivery integrity so a later verifier (not shipped here) can tell whether the -published bytes are still intact. The original `tables` map is unchanged for -external readers; receipts live only under `integrity`: +delivery integrity so `hflow verify snapshot` (or `verify_dataset_snapshot`) +can tell whether the published bytes are still intact. The original `tables` +map is unchanged for external readers; receipts live only under `integrity`: | Field | Meaning | | --- | --- | diff --git a/src/hflow/snapshot.py b/src/hflow/snapshot.py index d005408e..e05716d4 100644 --- a/src/hflow/snapshot.py +++ b/src/hflow/snapshot.py @@ -248,10 +248,10 @@ def _build_snapshot_integrity_marker_fields( Required Parquet tables and every regular file under ``assets/`` (copy mode) get ``path`` / ``size_bytes`` / ``sha256``. ``content_id`` digests that - normalized inventory so a deleted member is detectable without a verifier - product yet. References mode leaves ``assets`` empty: remote media are not - fetched for hashing. Copy mode re-reads each copied asset once after the - copy to compute its hash. + normalized inventory so ``verify_dataset_snapshot`` can detect a deleted + member even when every remaining file still matches. References mode leaves + ``assets`` empty: remote media are not fetched for hashing. Copy mode + re-reads each copied asset once after the copy to compute its hash. """ tables: dict[str, FileIntegrityRecord] = {} for table_name, file_name in _REQUIRED_TABLE_FILES.items():