ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

oh-my-codex 0.20.0 发布就绪评估:GPT-5.6 模型契约迁移的验证、门禁与发布全记录

oh-my-codex 0.20.0 发布就绪评估:GPT-5.6 模型契约迁移的验证、门禁与发布全记录 oh-my-codex 0.20.0 发布就绪评估GPT-5.6 模型契约迁移的验证、门禁与发布全记录【免费下载链接】oh-my-codexOmX - Oh My codeX: Your codex is not alone. Add hooks, agent teams, HUDs, and so much more.项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-codex本指南基于 oh-my-codex 仓库中 docs/qa/release-readiness-0.20.0.md 这份发布就绪评估文档逐节解析 0.20.0 版本的验证方法、门禁命令、CI 证据链与已知缺口。读者既能复现这套「本地门禁 CI 证据 发布证明」的发布流程也能理解 GPT-5.6Sol/Terra/Luna模型契约迁移的落地细节与它如何被测试锁定。一、为什么需要「发布就绪评估」文档oh-my-codex 是一个为 OpenAI Codex CLI 提供多 Agent 编排能力的开源项目TypeScript 主体 Rust 工作区每个版本发布前都必须在 docs/qa/ 目录下沉淀一份release-readiness-version.md。这份文档不是形式主义而是 RELEASE_PROTOCOL.md 强制要求的发布证据冻结发布范围明确上一版本 tag 与候选 ref并用git merge-base --is-ancestor验证祖先关系依据证据而非记忆撰写发布说明要求生成CHANGELOG.md、docs/release-notes-version.md、docs/qa/release-readiness-version.md、RELEASE_BODY.md四份发布物料发布就绪门禁第 4 节本地门禁通过、devCI 绿、就绪文档记录 compare range / PR 清单 / 本地门禁 / CI run ID / 已知缺口、发布说明对照git log全量核对。0.20.0 这份就绪文档正是一个标准样本它用 21 个提交的 compare range、15 个 PR、全套门禁输出和 8 条 CI run ID把「可以发布」这个结论变成了可审计的证据。二、Compare range冻结发布范围0.20.0 的 compare range 事实来自就绪文档上一发布 tagv0.19.1发布 tagv0.20.0- commit456effa2afcb7967e8ba7130ee15b2835c235d72血缘v0.19.1是v0.20.0的祖先v0.20.0同时位于main与dev分支完整对比范围v0.19.1...v0.20.021 个提交Compare range 是发布证据的骨架。按 RELEASE_PROTOCOL.md 第 1 节的命令模板可用如下命令重建该范围git merge-base --is-ancestor v0.19.1 v0.20.0 # 验证祖先关系退出码 0 表示成立 git log --oneline --decorate v0.19.1..v0.20.0 # 21 个提交的全量清单 git log --format%h %s v0.19.1..v0.20.0 | grep -Eo #[0-9] | sort -u # 提取 PR 编号21 个提交中除 15 个 PR 的合并提交外还包含 3 个直接落在分支上的 GPT-5.6 迁移提交未单独建 PR3e579633feat: migrate model contract to GPT-5.6 sol/terra/luna、0ac484e0fix: resolve migration review blockers、51ee0c28fix: doctor spark source labeling alias docs以及 3 个发布物料提交1ef0b8ce、5f5150d2、456effa2。这提醒我们发布范围必须同时覆盖 PR 提交与直接提交仅数 PR 会低估范围——这也是 0.20.0 在发布后需要修正 changelog 的根源见下文「已知缺口」。三、PR 清单与「未列 PR 的迁移提交」0.20.0 共 15 个 PR#3079、#3080、#3082、#3085、#3086、#3087、#3088、#3091、#3092、#3094、#3097、#3099、#3100、#3102、#3104。对照 CHANGELOG.md 的 0.20.0 条目可以看清每个 PR 的落点类别PR内容稳定性修复#3079无原生子 Agent 时防止 conductor 死锁#3080resume--sort updated保留 transcript mtime#3082插件 Stop hook 兼容 launcher 噪声后的末行 JSON插件与项目设置#3085项目 setup 默认插件模式 插件缓存#3086插件 hooks 仅在 omx 启动的会话中生效#3088resume 插件 preflight 改为 opt-in能力清单#3087新增omx capabilities lock/checkCLI深度访谈状态#3091 / #3092运行时状态 allowlist / 终端状态归一化Ralplan/Ultragoal#3094 / #3097 / #3100审批 handoff 与车道复用 / 目标派生守卫 / steering 清理会话与上下文#3099SessionStart 时重开持久化子 Agent#3102规范化 worktree 工具上下文模型别名#3104GPT-5.6 模型别名terra/luna/solPR 清单的意义在于「双向可核」每个合并提交都能在清单中找到对应 PR每个 PR 都能在 release notes 中找到说明或被明确标注为内部事项。四、本地门禁发布前的第一道关卡0.20.0 就绪文档记录的本地门禁全部通过下面逐条说明命令、输出与它们在代码中的落点。1. TypeScript 构建npm run buildnpm run build见 package.json执行「清空dist/-tsc编译 - 为dist/cli/omx.js加可执行权限」三步产出发布用的编译产物。0.20.0 门禁结果为 pass。2. 版本同步检查node src/scripts/check-version-sync.ts输出package0.20.0 workspace0.20.0。这个脚本src/scripts/check-version-sync.ts是版本一致性的守护者它校验package.json的version与Cargo.toml的[workspace.package].version一致6 个 Rust crateomx-api、omx-explore、omx-runtime-core、omx-mux、omx-runtime、omx-sparkshell的版本均声明version.workspace true不允许独立漂移若传入--tag还校验 tag 与package.json版本匹配。因此 0.20.0 的版本号0.20.0被同步到了package.json、package-lock.json、Cargo.toml [workspace.package]、Cargo.lock以及plugins/oh-my-codex/.codex-plugin/plugin.json五处。3. 插件镜像同步检查node dist/scripts/sync-plugin-mirror.js --check校验 29 个规范 skill 目录与插件元数据一致。该命令对应 src/scripts/sync-plugin-mirror.ts 的--check模式它依据plugins/oh-my-codex/下的插件清单比对skills/与prompts/等目录的镜像内容任何漂移都会以plugin_bundle_metadata_out_of_sync之类的错误中断。0.20.0 时 29 个目录全部通过。4. Node 测试套件370/371npm test0.20.0 结果是 370/371 个测试文件通过。唯一失败的是dist/cli/__tests__/resume.test.jspreserves transcript mtimes while materializing runtime history for updated sort就绪文档给出了完整的定性它是预先存在pre-existing的 macOS-only 环境问题测试内的假 codex 使用了 GNUstat -c在 BSD/macOS 上不可用已在迁移前的提交5a6c454b上复现出完全相同的结果证明与本次迁移无关在 Linux CI 上通过。这种「先复现基线、再定性、再证明与本次改动无关」的处置方式是就绪评估中处理环境性失败的规范动作。5. Rust 工作区测试237/237cargo test0.20.0 的 Rust 工作区omx-api、omx-explore、omx-mux、omx-runtime-core、omx-runtime、omx-sparkshell见 Cargo.toml237 个测试全部通过。Rust 侧同样被纳入 GPT-5.6 迁移范围sparkshell/explore/api 的默认模型与文档均同步迁移。6. 迁移质量门禁三轮架构评审 三轮红队0.20.0 的迁移质量门禁记录了完整的评审轨迹架构评审三轮BLOCK - COMMENT - CLEAR/APPROVE执行者 QA/红队red-team三轮证据产物存放在artifacts/qa-gpt56/、artifacts/qa-gpt56-r2/、artifacts/qa-gpt56-r3/发布 QA 在artifacts/qa-release-0200/。这说明模型契约迁移不是「改几个默认值」就完事而是经历了「架构阻断 - 提意见 - 放行」的完整评审链与对抗性验证。五、CI 证据链从迁移到发布的全过程0.20.0 就绪文档用 8 条 CI run ID 串起了「迁移 - 发布准备 - 发布 commit - 双分支验证 - tag 触发发布」的完整证据链阶段提交CI run ID结果dev迁移 修复51ee0c2829066232940成功dev发布准备1ef0b8ce29066522175失败插件 manifest 版本陈旧由5f5150d2修复dev5f5150d229066777285成功dev发布 commit456effa229068579015成功main5f5150d229067030836成功main发布 commit456effa229068657404成功tag v0.20.0 发布工作流456effa229068946855成功tag 尝试早期5f5150d2—29067574902失败release body 缺少## Contributors节tag 在456effa2重建这组数据还原了真实的发布曲线CI 失败不是终点而是证据——1ef0b8ce的失败定位到「插件 manifest 版本陈旧」由5f5150d2修复tag 工作流第一次失败是因为 release body 模板缺少## Contributors节这正是 RELEASE_PROTOCOL.md 第 3 节硬性要求的模板内容于是 tag 在456effa2重建并成功。就绪文档不粉饰失败反而把失败与修复一一对应记录这是它可信的关键。六、发布证明GitHub release 与 npm 双通道GitHub releasev0.20.0已发布非 draft并附带 native assets 与 manifestnpmoh-my-codex0.20.0已发布npm view oh-my-codex version返回0.20.0gitHead指向456effa2与发布 commit 一致。按 RELEASE_PROTOCOL.md 第 5 节发布后还应将dev快进到已发布的maincommit 并在dev上立即把版本号 bump 到下一个开发基线如 0.20.1-dev避免 dev 安装与已发布版本混同。仓库当前的 package.json 与 Cargo.toml 中版本为0.21.2正是该机制持续运转的体现。七、已知缺口发布后的修正轨迹就绪文档的「Known gaps」记录了一个诚实的问题最初发布的 changelog/release-notes 低估了完整 compare range主要是未把未列 PR 的直接迁移提交计入发布后通过 collateral-accuracy follow-up 提交修正并用gh release edit更新了 GitHub release 正文。这条记录对应 RELEASE_PROTOCOL.md 第 6 节的「发布后修正」流程不移动已发布的 npm provenance tag而是把修正后的发布物料提交到dev经正常 CI 路径提升到main重新生成 release body 后执行gh release edit并在就绪文档中记录修正。版本发布是允许修正的前提是修正本身留痕。八、0.20.0 的技术主体GPT-5.6 模型契约迁移就绪文档验证的对象本质上是这次「把整个模型契约迁到 OpenAI GPT-5.6 代Sol/Terra/Luna2026-07-09 公开」的变更。结合 docs/release-notes-0.20.0.md 与源码迁移的内容可以精确展开。1. 三条车道默认模型全面替换frontier前沿 : gpt-5.5 - gpt-5.6-sol standard标准 : gpt-5.4-mini - gpt-5.6-terra spark快速 : gpt-5.3-codex-spark - gpt-5.6-luna落点覆盖运行时默认值、Codex Agent 默认值、Rust crates、文档、prompts、skills 与插件镜像。核心常量定义在 src/config/models.tsexport const DEFAULT_FRONTIER_MODEL gpt-5.6-sol; export const DEFAULT_STANDARD_MODEL gpt-5.6-terra; export const DEFAULT_SPARK_MODEL gpt-5.6-luna; export const GPT_5_6_MODEL_ALIASES [DEFAULT_STANDARD_MODEL, DEFAULT_SPARK_MODEL, DEFAULT_FRONTIER_MODEL] as const; export const KNOWN_CODEX_MODEL_ALIASES GPT_5_6_MODEL_ALIASES;isKnownCodexModelAlias()即 #3104 引入的「已知 Codex 模型别名」判定函数用于识别这三个别名。2. 子 Agent 角色分配planner精确固定gpt-5.6-solmedium 推理architect精确固定gpt-5.6-solxhigh 推理researcher精确固定gpt-5.6-terra标准 worker / review 角色gpt-5.6-terraexplore / style-reviewer 与团队低复杂度 workergpt-5.6-luna3. 精确模型组合缝exact-model composition seam原EXACT_GPT_5_4_MINI_MODEL更名为EXACT_GPT_5_6_TERRA_MODEL指引以「trim 后最终解析模型」与gpt-5.6-terra做大小写敏感精确相等匹配且优先于角色的exactModel固定 pin。4. 兼容性边界来自 release notes 与源码已有显式模型覆盖包括旧代模型名仍作为不透明字符串正常工作不强制封闭 allow-list新配置gpt-5.6-sol会保留model_context_window 250000/model_auto_compact_token_limit 200000的种子建议模型解析优先级见 src/config/models.ts 的getMainDefaultModel/getSparkDefaultModel/getTeamChildModel主模型OMX_DEFAULT_FRONTIER_MODELconfig.toml modelgpt-5.6-solspark 模型OMX_DEFAULT_SPARK_MODELOMX_SPARK_MODEL.omx-config.json models.team_low_complexity及别名键gpt-5.6-luna团队子模型OMX_TEAM_CHILD_MODEL.omx-config.json env配置 gpt-5.6-terra。5. 迁移附带的行为修正Autopilot 将规范的gpt-5.6-terra/gpt-5.6-luna分类为廉价车道主模型为 Terra 时重型规划路由给专职 plannersetup 对gpt-5.3-codex与gpt-5.5根模型提供 prompt 门控升级到gpt-5.6-sol拒绝或非交互运行则保留原模型Doctor 准确报告 Spark 模型来源包括.omx-config.json models.team_low_complexity团队委派子模型回退改为经getTeamChildModel()解析尊重OMX_TEAM_CHILD_MODEL不再依赖硬编码缝常量。九、配套新能力omx capabilities lock/check#3087 为本版本带来omx capabilitiesCLI实现见 src/cli/capabilities.ts命令行为omx capabilities lock [--lockfile path] [--json] omx capabilities check [--lockfile path] [--observations path] [--require-observations] [--strict-external-schemas] [--json]lock构建并写出能力锁文件默认路径为工作目录下的omx-capabilities.lock.json常量见 src/capabilities/lockfile.ts并输出configured_tools/skills/agents/fixtures四个表面的摘要 digest以及外部 MCP server 缺 schema 快照的告警check对照锁文件做发布前预检preflight可要求必须携带观测数据--require-observations或对外部 schema 严格化--strict-external-schemas失败时以非零退出码结束。仓库根目录的 omx-capabilities.lock.json 就是该命令产物的实例npm test中的verify:capabilities-lock也用它做生成物一致性校验。十、如何把这份就绪评估当作「可复用的发布清单」对于想在自己的 fork 或 CI 流水线中复用 0.20.0 发布流程的读者核心清单如下冻结范围确认上一 tag 是候选 ref 的祖先用git log与gh pr list建立 commit PR 双份清单跑全部门禁npm run build、版本同步检查、插件镜像--check、npm test、cargo test以及新增的omx capabilities lock/check环境性失败要复现基线在改动前的提交上复现证明与本次变更无关并在就绪文档中记录记录 CI 证据链dev/main 双分支、发布 commit、tag 触发工作流的 run ID 逐一对应失败也要记录修复路径发布证明双通道GitHub release 非 draft 且带 native assets 与 manifestnpm view oh-my-codex version返回发布版本且gitHead与发布 commit 一致修正留痕若发布后才发现 collateral 低估范围按协议在dev修正、走 CI 提升、gh release edit更新正文并把修正记录进就绪文档。这套证据驱动的发布方法正是 RELEASE_PROTOCOL.md 想要固化的工程纪律把「我觉得可以发布」变成「证据表明可以发布」并让任何后来者都能沿文档、源码与测试路径复核每一次结论。【免费下载链接】oh-my-codexOmX - Oh My codeX: Your codex is not alone. Add hooks, agent teams, HUDs, and so much more.项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-codex创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表