_git_tracks wrapped the lookup in a bare except Exception. The only real failure it hid was UnicodeDecodeError from text=True on non-UTF-8 paths in the ls-files output, which escapes the (OSError, SubprocessError) catch. Decode with surrogateescape (matching how Python decodes filesystem paths) and drop the catch-all so real bugs surface. Co-authored-by: David Crandall <david@convergentdesign.dev>