原因
Windows環境のデフォルトエンコードがcp932(Shift-JIS系)のため、subprocess.run()でcapture_output=True、text=Trueにすると日本語が含まれるgit出力でデコードエラーが発生する。
対処法
subprocessはバイトで受け取り、utf-8でデコードする(errors='replace'付き)。update_master.py v2.1で修正済み。
r = subprocess.run(cmd, capture_output=True)
out = (r.stdout or b'').decode('utf-8', errors='replace')
🤖 AIの自動改善目標:update_master.pyのrun()関数が常にこのパターンを使うよう標準化済み。新規スクリプトにも同パターンを適用する。