Covers diffs and the Changes list: clean hunks with correct added/removed counts, binary and truncation handling, the fallback for a repo with no commits yet, untracked files counted from disk with out-of-checkout symlinks refused, unsafe paths rejected before any read, and the whole list from a single git call.

## Before writing SPEC.md files

Read https://raw.githubusercontent.com/brillout/sdd/refs/heads/main/sdd.md
