执行codex-history verify可扫描五个关键路径检查残留引用,若输出“✅ No known references found”则说明工具支持范围内的本地引用已全部切断。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

彻底清理Codex本地代码改动后,必须验证是否残留未清除的引用,否则旧逻辑可能在下次启动时被意外加载、测试环境误用Mock数据、或Git提交中混入调试占位符。
执行 codex-history verify 扫描已知引用位置
在终端中运行:codex-history verify。
该命令会自动扫描五个关键路径:【~/.codex/sessions/、archived_sessions/、state_5.sqlite、session_index.jsonl、logs_2.sqlite】,检查是否存在指向已删除会话或状态的硬编码引用、外键残留、JSONL索引断裂等典型问题。
若输出为 “✅ No known references found”,说明工具支持范围内的本地引用已全部切断;若出现任何“⚠️ Found reference in …”提示,需立即停止后续操作,手动进入对应文件定位并删除该行。
人工核对 Git Diff 中的 TODO 和硬编码
方法一:用 git diff 找出所有新增或修改的 TODO 行
执行:git diff --unified=0 | grep -A1 -B1 "TODO|FIXME"。这会显示每处 TODO 上下文,包括它所在的函数名和文件路径,避免漏掉被折叠在长函数中间的注释。
方法二:检查是否残留硬编码用户标识或路径
配置 OpenClaw 多提供商认证与 OpenAI Codex OAuth 备用方案,实现自动模型切换,适用于多 OpenAI Codex 账户设置。
运行:git diff --name-only | xargs grep -n "id: 1|test-user|C:\\old-project|/home/.*/src" 2>/dev/null。这类字符串极大概率是 Codex 生成的占位实现,【一旦出现在 diff 中,必须手动替换为真实逻辑或参数化】。
验证 SQLite 数据库中无残留会话记录
第一步:打开 state_5.sqlite 数据库
使用命令:sqlite3 ~/.codex/state_5.sqlite。
第二步:查询 threads 表中是否还有未归档的活跃会话
输入 SQL:SELECT COUNT(*) FROM threads WHERE archived = 0;。返回结果必须为 0,否则说明 purge 操作未真正生效,仍有会话处于“可见但未归档”状态。
第三步:检查 session_index.jsonl 是否为空文件
执行:ls -la ~/.codex/session_index.jsonl。文件大小应为 0 字节;若大于 0,用 head -n 3 ~/.codex/session_index.jsonl 查看前几行,确认是否含有效 JSON 对象——有则代表索引未同步清理。

















