Upper bound on a single git invocation. --changed already degrades to "run all tests" when
git fails, so a stuck git should reject rather than wedge the run — without a bound the CLI
hangs forever, since neither git nor the caller ever gives up. 30s is orders of magnitude
above a healthy git status on a large repo, so it only fires on a genuine wedge.
GIT_TIMEOUT_MS; // 30_000 — the default `timeoutMs` of runGit and getChangedFilePathsInGitSince