fix/minimal-diff-execution
main
根因:agent 无本地读文件工具,只拿到 workspace 的截断采样,被要求"输出完整文件" 时只能凭残缺采样+自身知识重构整个文件 → 丢行/重排/改注释/版权头 → 巨噪声 diff, 要么 apply 不上,要么 apply 了破坏无关测试(SWE-bench Pro 两臂 0/10 的主因)。 修法: - _load_exact_target_files():从子任务描述正则提取目标文件路径,注入其**完整未截断** 的磁盘原文(上限6文件/各120KB,超限留给采样)。 - 执行 prompt 新增 "EXACT CURRENT CONTENT" 段 + 强令:返回内容必须是该原文逐字节保留、 仅施加任务所需最小编辑,禁止 reformat/reorder/rename/clean-up 无关行。 - 强化原 full-file 输出说明。 目的:让 diff 只含必要行,救回 NodeBB 296/300、ansible 171/175 这类"差几个测试"的近失题。 契约测试全绿(runtime-contract/merge-smoke/workflow-e2e/contract-freeze)。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>