Pure-function diff calculators for content.
Each calculator hashes the disk-side and database-side representations and emits a structured diff (added/modified/removed/unchanged) without mutating either side.
added
modified
removed
unchanged