Codex 改名又改内容,验收清单怎样同时保留旧路径和新路径
Codex 将 old name.txt 改名为 new name.txt,同时修改最后一行,验收记录必须保留两个路径。只保存新文件会漏掉旧入口是否仍被引用;把它当两件无关的删除和新增,又看不出迁移关系。机器清单应表达状态本身,而不是从人类可读的一行文字里猜意图。
重命名记录是一个关系
演示夹具采用 Git 的 --name-status -z 输出形态:状态标记 R095 后接旧路径和新路径,字段由 NUL 分隔。解析器先读状态,遇到 R 或 C 才再消费两个路径;普通修改、删除和新增只消费一个路径。相似度数字作为观察信息保留,不要把它当文件内容正确率。
-M 的重命名检测依据相似性推断,Git 并没有在每个提交里保存一个永远不变的“改名事件”。内容变化过大或检测参数不同,同一工作意图可能显示为删除加新增。所以生成清单时还应记录命令和比较基线,不能只留解析后的 JSON 然后丢掉原始字节。
旧路径与新路径各查什么
旧路径用于查引用迁移、文档链接和构建入口是否仍指向旧位置;新路径用于检查目标内容、导入与任务归属。附件输出一条关系对象,包含 old_path、new_path 和观察状态。失败反例是一个只保留 path 字段的消费者:它无法回答删除的是谁,检查器会因旧路径缺失拒收。
还准备了删除与新增两条记录作为对照。这组记录可以提示人工检查是否为未识别的迁移,却不能仅凭文件名相似就自动合并。两个文件内容可能无关,错误合并会掩盖真实删除。补充说明时应保留原始检测结论,再单独记人工裁定,而不是改写证据。
文件名不是可以随意分词的句子
带空格的路径不是两个参数。本文使用 NUL 边界,所以 old name.txt 完整保留;路径展示时用可转义的字符串,实际读取仍使用原始值。不要把显示用引号重新拼成 shell 命令执行,更不要让清单解析器顺手完成移动和覆盖。
如果一个重命名记录只剩一个路径,或输出末尾被截断,应报协议不完整,不能猜另一个路径。本文检查器支持 A、D、M、T、U 单路径状态,以及带零到一百分数的 R/C 双路径状态;缺分数、超范围和未知状态均拒收。其他 Git 状态形式需扩充合同与样本后再接入。空字段也在进入下游前校验。附件包含完整、缺字段和删除新增三种输入,验证的是解析关系与信息保留,没有声称所有平台都会产生完全相同的重命名分数。
最终审查可沿关系对象查旧入口和新入口,但仍须打开实际差异确认内容。这与限制当前任务提交范围互补:范围检查回答能不能提交这些路径,重命名清单回答两个路径如何关联,二者不能互相替代。
配套文件与依据
本文的合成输入和参考结果可下载独立样本 a005.json,离线检查器 a005.py与样本放在同一目录后运行。检查器不调用模型接口。 使用 Python 3.12 或兼容版本,将上述文件下载到同一目录,执行 python a005.py。
一手资料1。资料核对日期:2026-10-24。
相关阅读
- Codex 会话管理实战:归档、取消归档、删除与按名字找回
- Codex 报错如何整理成可复现工单:日志脱敏与环境记录
- Codex CLI 安装失败、连不上怎么解决?排查全流程
- Codex 报 ChatGPT login is disabled. Use API key login instead. 是谁禁的?按这个顺序挨个查
- Codex 报 remote compaction v2 expected exactly one compaction output item 怎么办
- Codex 报 Selected model is at capacity. Please try a different model. 怎么办
留言讨论
评论发布后会被人工复核,违规内容将被删除。
如果发表没有反应,可以前往联系我们告诉我们。