必须先确认功能边界再清理代码:执行/status和git diff --staged确保环境干净,让Codex列出date.ts导出函数用途作基线,用测试或验证脚本驱动清理,严格限制动作类型与文件范围,并强制输出带理由的变更摘要,最后通过脚本比对、业务路径模拟和Git差异完成回归验证。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

清理前先确认功能边界
Codex清理代码时若不明确原有功能范围,它可能把“能删的都删了”当成优化,结果删掉的是关键校验逻辑、兜底分支或兼容性适配代码。必须在清理指令发出前,用可验证的方式锁定功能边界。
执行 /status 查看当前会话是否已加载目标项目;再运行 git diff --staged 确认工作区干净——【若存在未提交修改,Codex 可能基于错误快照分析】。
让 Codex 列出当前模块所有公开行为:输入“请列出 src/utils/date.ts 中所有导出函数的用途、调用方和预期输入输出,不要推测,只基于已有代码和 JSDoc”。它返回的内容就是你后续验证的基线。
用测试驱动清理过程
方法一:直接调用现有测试用例
输入“请运行当前目录下所有以 test.date 开头的测试文件,并输出失败项、跳过项和覆盖率变化”。Codex 会尝试执行 npm test -- --testPathPattern=test.date 类命令。如果测试失败,它不会继续清理,而是停在问题点并说明原因。
方法二:生成最小验证脚本(无测试时)
让它写一个独立的验证脚本:请生成一个 verify-date-behavior.mjs,只调用 src/utils/date.ts 中所有导出函数,每项传入文档中声明的典型参数和边界值(如 null、空字符串、1970-01-01),打印返回结果,不抛错即视为通过。运行该脚本的结果,就是清理后必须复现的输出清单。
限制清理动作类型
第一步:禁止自动重构
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
在清理指令开头明确写:“本次只允许删除无引用的导出、注释掉已废弃但被间接调用的函数、将 console.log 替换为 debug 模块调用。禁止重命名变量、合并条件分支、提取公共逻辑、调整 import 顺序。”
第二步:锁死文件范围
指定“仅处理以下文件:src/utils/date.ts、src/utils/date.test.ts。其他任何文件不得读取,更不可修改。若发现需修改其他文件,请立即停止并说明依赖路径。”
第三步:强制输出变更摘要
要求 Codex 在完成清理后,必须输出三栏表格:原代码行号 → 删除/注释/替换内容 → 保留该改动的理由(例如“该函数在 src/pages/Dashboard.tsx 第 42 行被 typeof 检查引用”)。【没有理由说明的修改,一律视为无效操作】。
清理后立即回归验证
① 运行上一步生成的 verify-date-behavior.mjs,逐行比对输出是否与清理前完全一致;
② 手动触发一次真实业务路径:在 Codex 中输入“请模拟用户在 Dashboard 页面点击‘导出本月报表’按钮的操作,检查 date.format 调用是否返回 YYYY-MM-DD 格式字符串”,它会基于项目实际结构执行调用链跟踪;
③ 检查 Git 差异:git diff --no-index —— 若输出为空,则功能未变。

















