用途:在代码变更通过评审后执行最终验证门禁,确保格式化、lint、类型检查和测试全部通过后才标记完成。适用于影响运行时代码、测试或构建/测试配置的变更;纯文档或仓库元数据变更可跳过,除非用户要求完整流程。
主要能力:提供脚本按顺序运行 make format、make lint、make typecheck、make tests,遇到首个失败即停止;Bash 脚本直接流式输出各命令结果,Windows 包装脚本保留并行 lint、类型检查和测试步骤并定期输出心跳。
使用方式:将技能放在 ./.agents/skills/code-change-verification 以便自动加载。macOS/Linux 的 Codex 环境运行 /usr/bin/env -u OPENAI_API_KEY OPENAI_AGENTS_TEST_IN_CODEX_SANDBOX=1 UV_DEFAULT_INDEX=https://pypi.org/simple bash .agents/skills/code-change-verification/scripts/run.sh;其他 macOS/Linux 环境运行 env UV_DEFAULT_INDEX=https://pypi.org/simple bash .agents/skills/code-change-verification/scripts/run.sh;Windows 运行 powershell -ExecutionPolicy Bypass -File .agents/skills/code-change-verification/scripts/run.ps1。也可手动从仓库根目录依次执行 make format、make lint、make typecheck、make tests,失败即停止并修复后重跑完整流程。
适用场景与限制:这是评审后的最终门禁,评审未清洁或 diff 未稳定前应只用聚焦测试和必要的窄范围静态检查。启动完整流程前应检查同一主机是否已有仓库级测试、类型检查、构建等任务在运行,存在竞争时先做非重负载工作。验证及子进程须留在 Codex 工作区沙箱内,不得请求提权或扩大主机访问。脚本假定依赖已安装,不要每次运行 make sync;仅在新检出、依赖文件变更或依赖解析失败时使用。macOS 上标记 requires_native_macos_sandbox 的测试需自行启动 sandbox-exec,Codex 命令通过 OPENAI_AGENTS_TEST_IN_CODEX_SANDBOX=1 跳过该标记,其他测试仍启用;这些标记测试在一次性 GitHub macOS runner 上单独运行,若不可用应报告缺失覆盖而非削弱沙箱边界。Linux 上原生扩展可能需 libffi-dev、Python 开发头文件或构建工具,缺失时按本地环境问题处理。