pub fn read_git_diff(cwd: &Path, max_chars: usize) -> Option<String>
Reads the current git diff (staged + unstaged) and returns it as a formatted string. Includes capping to prevent token overflow.