fix: 对齐 writer 正常终态回执

This commit is contained in:
zizi 2026-08-01 11:37:14 +08:00
parent c501a4a5cb
commit e39e178f48
3 changed files with 10 additions and 4 deletions

View File

@ -87,7 +87,10 @@ def build_writer_execution_profile(
system_prompt_id="writer-system-prompt-v2", system_prompt_id="writer-system-prompt-v2",
system_prompt=system_prompt, system_prompt=system_prompt,
system_prompt_sha256=sha256_text(system_prompt), system_prompt_sha256=sha256_text(system_prompt),
normal_terminal_reasons=("success",), # Claude Code 2.1.211 的 --print envelope 在正常结束时给 terminal_reason="completed"
# (subtype 才是 "success")。replay 冻结 config 的 normalTerminalReasons 同样登记
# ["completed"];旧值 ("success",) 会把每一次正常调用误判成 RECEIPT_INVALID。
normal_terminal_reasons=("completed",),
) )

View File

@ -98,7 +98,8 @@ def _success_runner(context: dict, output: dict | None = None) -> FakeRunner:
"type": "result", "type": "result",
"subtype": "success", "subtype": "success",
"is_error": False, "is_error": False,
"terminal_reason": "success", # CLI 2.1.211 正常结束的 terminal_reason 是 "completed"(subtype 才是 "success")
"terminal_reason": "completed",
"stop_reason": "end_turn", "stop_reason": "end_turn",
"api_error_status": None, "api_error_status": None,
"total_cost_usd": "0.120000", "total_cost_usd": "0.120000",
@ -282,7 +283,8 @@ class RunWriterTest(unittest.TestCase):
"type": "result", "type": "result",
"subtype": "success", "subtype": "success",
"is_error": False, "is_error": False,
"terminal_reason": "success", # 与 CLI 2.1.211 真实 envelope 一致;若失配 RECEIPT_INVALID 会抢占主码
"terminal_reason": "completed",
"stop_reason": "end_turn", "stop_reason": "end_turn",
"api_error_status": None, "api_error_status": None,
"total_cost_usd": "0.120000", "total_cost_usd": "0.120000",

View File

@ -319,7 +319,8 @@ class FakeSubprocessRunner:
"type": "result", "type": "result",
"subtype": "success", "subtype": "success",
"is_error": False, "is_error": False,
"terminal_reason": "success", # CLI 2.1.211 真实 envelope:terminal_reason 是 "completed",subtype 才是 "success"
"terminal_reason": "completed",
"stop_reason": "end_turn", "stop_reason": "end_turn",
"api_error_status": None, "api_error_status": None,
"total_cost_usd": "0.010000", "total_cost_usd": "0.010000",