fix: encode harness prompts as utf-8

This commit is contained in:
KOKO\Mimi
2026-08-09 01:37:24 +09:00
parent 6d6da7545c
commit ac039b311d
2 changed files with 37 additions and 0 deletions
+1
View File
@@ -259,6 +259,7 @@ class StepExecutor:
input=prompt, input=prompt,
capture_output=True, capture_output=True,
text=True, text=True,
encoding="utf-8",
timeout=1800, timeout=1800,
) )
except FileNotFoundError as exc: except FileNotFoundError as exc:
+36
View File
@@ -0,0 +1,36 @@
import json
import subprocess
from scripts import execute
def test_invoke_codex_uses_utf8_for_unicode_prompt(tmp_path, monkeypatch):
phase_dir = tmp_path / "phases" / "unicode-phase"
phase_dir.mkdir(parents=True)
(phase_dir / "index.json").write_text(
json.dumps(
{
"project": "FESA Structural Solver",
"phase": "unicode-phase",
"steps": [{"step": 0, "name": "unicode", "status": "pending"}],
}
),
encoding="utf-8",
)
(phase_dir / "step0.md").write_text("EulerBernoulli 보", encoding="utf-8")
invocation = {}
def capture_run(command, **kwargs):
invocation["command"] = command
invocation["kwargs"] = kwargs
return subprocess.CompletedProcess(command, 0, stdout="", stderr="")
monkeypatch.setattr(execute, "ROOT", tmp_path)
monkeypatch.setattr(execute.subprocess, "run", capture_run)
executor = execute.StepExecutor("unicode-phase")
executor._invoke_codex({"step": 0, "name": "unicode"}, "승인된 설계 ")
assert "EulerBernoulli 보" in invocation["kwargs"]["input"]
assert invocation["kwargs"]["encoding"] == "utf-8"