Complements the cherry-picked contributor fixes and closes out the remaining sites of the 'missing explicit encoding' bug class, which is now permanently gated by ruff PLW1514 (enabled repo-wide in pyproject.toml and enforced by the blocking `ruff check .` step in .github/workflows/lint.yml): - tools/memory_tool.py: read MEMORY.md/USER.md via utf-8-sig so a Notepad BOM never glues U+FEFF onto the first entry (issue #10878, PR #10888 by @easyvibecoding — strict-decode contract of _read_raw_checked preserved rather than errors="replace", so undecodable files still refuse read-modify-write instead of being lossily rewritten). Regression tests included. - tools/skills_tool.py: SKILL.md and skill file reads pinned to utf-8-sig + errors="replace" — deterministic across platforms instead of the locale fallback proposed in PR #51701 (superseded: falling back to cp1252/GBK makes the same skill render differently per host); .env reader aligned with the canonical utf-8-sig dialect in hermes_cli/config.py. - agent/shell_hooks.py, hermes_cli/main.py, gateway/slash_commands.py: explicit utf-8 on the remaining fdopen/open text-mode sites flagged by the AlexFucuson9 sweep series (#56033 #56940 #65565 #66782 #66791). Co-authored-by: easyvibecoding <easyvibecoding@users.noreply.github.com> Co-authored-by: AlexFucuson9 <AlexFucuson9@users.noreply.github.com> Co-authored-by: flyingdoubleg <wangzhe00zju@gmail.com> Co-authored-by: LeonSGP43 <cine.dreamer.one@gmail.com>
2 lines
10 B
Plaintext
2 lines
10 B
Plaintext
nolanchic
|