A checksum is a short proxy for a file's contents: you compute it at the source, compute it again at the target, and compare, and a difference tells you the two are not identical within the algorithm's limits (FAIR Cookbook, creating checksum files). In a rebuild, the checksum is the key that joins a derived task back to the exact source version that produced it. When the key no longer matches, the join breaks, and the derived task is now attached to nothing you can trust.
This is why the instinct to "just regenerate" is dangerous. Regenerating against whatever the source happens to be now silently re-points the derived task at new content while its history still claims the old input. That is a provenance failure: the record of where data came from and under what authority no longer reflects reality, which is exactly what provenance exists to prevent (Snowflake on provenance vs lineage).
Keep the two concepts separate while you work. Lineage answers "where does this derived task flow from and what will break if I change it," which is your impact question. Provenance answers "where did this version come from, who touched it, and can I trust it," which is your audit question (DataHub on lineage vs provenance). A checksum mismatch touches both, so the repair pass must fix the join and preserve the history.



