2fda6a384c
Follow-up to the auth.json UTF-8 read fix in this PR. A repo-wide scan for the same bug class found three more callers that read ~/.hermes/auth.json via Path.read_text() with no encoding — same Windows cp1252 hazard: - agent/auxiliary_client.py _read_nous_auth: a non-ASCII byte raised UnicodeDecodeError, the broad except swallowed it, and Nous silently stopped being available as the auxiliary (vision/summarization) provider. - tools/xai_http.py has_xai_credentials: same failure mode — xAI OAuth silently looked absent on Windows. - hermes_cli/main.py is_setup_complete: same; has a config.yaml fallback so the impact is milder, but the read is still wrong. All three now use read_text(encoding="utf-8-sig"), matching _save_auth_store's write encoding. A repo-wide grep confirms there are no remaining json.loads(...read_text()) reads of auth.json without an explicit encoding. Tests: rewrote the Windows-encoding regression tests to actually exercise the bug on POSIX too — a new windows_default_encoding fixture forces a no-encoding read_text() to decode as cp1252 (the Windows default), and _write_utf8 now emits real non-ASCII UTF-8 bytes (ensure_ascii=False) so the bytes actually trip cp1252. Verified each test fails when its fix is reverted (including the two new sibling-reader tests).