_llm_declared_done 此前要求回合文本里单独一行恰好等于 目标已达成,但 run_goal_loop 三处提示都让模型输出 目标已达成。(带句号);模型照做后检测永不触发,实弹 goal 任务空转 292 轮才被手动取消。改成比对前去行尾空白 与句末标点(。!?;,、. 等),提示不动、单独一行要求 不动,行内带其它文字仍不算。 回归测试 test_goal_marker_trailing_punctuation_counts:裸标记、 句号、感叹号、句号前空格、行尾空格算达成;前缀文字、逗号 后续、反问、空串不算。