Skip to content

fix: read and write CLI inventory JSON as UTF-8 regardless of locale - #49

Merged
Anai-Guo merged 1 commit into
mainfrom
chore/auto-maint-2026-10-20
Oct 21, 2026
Merged

Anai-Guo merged 1 commit into
mainfrom
chore/auto-maint-2026-10-20

Conversation

@Anai-Guo

Copy link
Copy Markdown
Owner

自动维护改动

类型:维护(小 bug 修复)
改动:cli.py 的 scan --output 写入与 classify --inventory 读取改为显式 UTF-8;pydantic model_dump_json 保留非 ASCII 字符(如 µ、Ω),在 cp1252 区域设置的 Windows 上原先会 UnicodeEncodeError / 误解码。新增 2 个 cp1252 模拟回归测试(修复前失败、修复后通过;仪器扫描与分类均已 mock,无需硬件)。
测试:通过(本地全量 521 passed,ruff check / format 通过)
参考:无

本 PR 由每日维护任务生成,请人工 review 后再合并。

🤖 Generated with Claude Code

`labharness scan --output` writes pydantic's model_dump_json output, which
keeps non-ASCII characters (e.g. µ, Ω in IDN strings) unescaped. Without an
explicit encoding, Path.write_text uses the locale codec and raises
UnicodeEncodeError on a cp1252 Windows lab PC; `classify --inventory` likewise
mis-decodes a UTF-8 inventory file. Pin both to UTF-8 and add cp1252-simulated
regression tests.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Anai-Guo
Anai-Guo merged commit f04f545 into main Oct 21, 2026
3 checks passed
@Anai-Guo
Anai-Guo deleted the chore/auto-maint-2026-10-20 branch October 21, 2026 10:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant