展开本页目录
开始前准备什么
- 本地已核实 codex-cli 0.162.0-alpha.17.2 支持 exec --output-schema、--json、-o;教程需记录实际版本。
- 订阅额度与 API key 计费分开;本任务可保持 read-only,禁止自动安装或升级依赖。
- 结构正确不等于内容正确;需复核每项源码与官方依据。
- 保留原始调用点与版本
- 为最终报告定义 JSON Schema
- 用只读 exec 分离最终 JSON 与事件
- 让每项判断引用源码和官方变化
- 运行结构与行号映射检查
- 检查 unknown 和未变化判断
- 冻结报告后再另开实施任务
原创输入、提示词、原生配置、参考源码、实际结果和验收说明;不含模型账号或运行缓存。
按独立目录运行,原生代理会话需由自己另行执行。
1. 保留原始调用点与版本
src/schema.ts 中有 default、required_error、trim/min 和 custom 四类真实调用,package.json 固定 Zod 3.25.76。先保留源文件,不升级依赖;本题先做影响审计而不是直接迁移代码。
2. 为最终报告定义 JSON Schema
打开 impact.schema.json,固定 items 每项的 file、line、snippet、status、basis,status 只允许 review/unchanged/unknown,additionalProperties 为 false。Schema 限制输出形状,不验证技术判断是否正确。
3. 用只读 exec 分离最终 JSON 与事件
先运行 codex exec --help 确认本机支持 --output-schema、--json 和 -o,再按 run-codex.txt 执行。-o 保存最终结构化报告,标准输出的 --json 是 JSONL 事件日志,不能把两者当同一个 JSON 文件解析。 包内 local-codex-help.txt 是本机 CLI 的真实 help 输出,仅证明参数存在,没有发起模型任务。
4. 让每项判断引用源码和官方变化
提示中要求逐行读取源文件,对照官方 Zod 4 migration guide。default 的短路行为、required_error 的统一 error 参数要分别说明;custom 的业务策略缺证据时必须写 unknown,不能臆造兼容结论。
5. 运行结构与行号映射检查
安装 requirements.txt 后运行 python3 verify.py;检查器验证人工参考符合 schema、四项 snippet 与真实源码行号一致,并故意把 line 改成字符串验证会失败。本站没有运行 Codex exec 模型。
本地练习命令
python3 -m pip install -r requirements.txt
python3 verify.py6. 检查 unknown 和未变化判断
人工回读每一项官方依据,确认 unchanged 仅表示本题未断言影响,不代表整个 API 永远不变。至少保留 custom 的 unknown,避免结构化输出给人“机器已证明安全升级”的错觉。
7. 冻结报告后再另开实施任务
保存实际 actual-impact.json、事件 JSONL、输入 SHA 和审校结论。批准升级是下一步;本题不更新真正依赖,不把人工参考报告冒充模型输出。
怎样确认已经完成
- 人工参考结构校验及四行源码映射应能按 README 在独立目录重现。
- 目标代理真实结果须另存;人工参考、原生会话和官方示例分别识别。
常见问题
让 Codex 输出稳定 JSON 而不是一大段解释怎么做?
先运行 codex exec --help 确认本机支持 --output-schema、--json 和 -o,再按 run-codex.txt 执行。-o 保存最终结构化报告,标准输出的 --json 是 JSONL 事件日志,不能把两者当同一个 JSON 文件解析。
Zod 3 升级 4,能先列出哪些文件会受影响吗?
人工回读每一项官方依据,确认 unchanged 仅表示本题未断言影响,不代表整个 API 永远不变。至少保留 custom 的 unknown,避免结构化输出给人“机器已证明安全升级”的错觉。
本题哪些结果已经实际运行?
已运行的是人工参考结构校验及四行源码映射。原生功能操作按官方文档编排,目标代理未调用;英文检索可用“Codex exec output schema Zod 3 to 4 migration impact report”定位对应术语,但这不是搜索量或热榜声明。




