pub async fn changed_file_count(cwd: &Path) -> Result<usize, RepoGate>Expand description
How many files cwd’s worktree has changed against HEAD: tracked
modifications plus untracked files, one --porcelain line each. Err
carries the repo gate, so a caller can tell “not a repo” from a git
that would not run rather than reading either as a clean tree.