be74fdc137
The Windows footgun checker caught bare Path.read_text()/write_text() in the config I/O I added in the previous commit. Without encoding=, Python uses locale.getpreferredencoding() — cp1252/cp936 on Windows — so a UTF-8 config crashes or writes mojibake. This was the single root cause of both red checks: the blocking lint job and tests/scripts/test_windows_footguns_full_repo_scan.py, which runs the same checker over the repo. Everything else was green (38,447 passed, 1 failed). Verified locally: the checker now reports no footguns across 1019 files, and the full-repo-scan test passes.