f19bd8de8c
- Direct 回合的终态判定事实改成先固定上下文,写点留到解析与线程释放之后 - structured output 解析折进同一个收尾结果:解析失败不再"终态写完才失败",改走失败载荷 - 收尾结果拆成 `DirectTurnReport`(报告正文 + 解析结果),终态兜底文案仍取被解析的那份文本 - 新增 `DirectTurnTerminalContext::write` 作为唯一终态出口,占用解除与 `turn.completed` 一起走 - `direct_turn_terminal_write` 改成"报告 / 失败"两个入参,便于单测覆盖三种投影 - 补单测:解析失败投影成 `model-failed` 载荷,正常收尾不带失败载荷