If no snapshot exists: include full file list (diff equals full archive).
Snapshot update behavior is controlled by updateSnapshot.
When includeOutputDirInDiff === true, also include the entire /output tree
(excluding /diff and the two archive files) regardless of change list length.
Create a diff tar at/output/.diff.tar.