3f70c69119
- optional_text 原来先 trim 再查 is_control:`"prompt\n"`、`"\tprompt"` 这类落在首尾的控制字符被静默裁掉、当成合法值,而同一个字符出现在中间却会报错 - 改成先按原串查控制字符,再用 trim 做空值与长度判定:控制字符在哪个位置都报 has_control_characters - 纯空白值("\n\t"、" ")仍然算空值、报原来的 empty 错误;首尾的普通空格仍按原样裁掉 - 测试补三条断言:prompt 末尾带 \n 必须被拒、纯空白 brief 仍报空、brief 首尾普通空格仍会被裁剪 验证:cargo test --bin genarrative-ai-game-creator-shell -- agent:: 953 passed / 0 failed