
OmX 受约束发布实战用 Ultragoal 工作流决策、验证并安全交接 oh-my-codex 0.18.13【免费下载链接】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-codexOmX仓库 .gjc/ultragoal/brief.md 记录的 0.18.13 发布任务为完整案例讲解如何借助 OmX 的 Ultragoal 工作流在“不 tag、不 publish、不 push、不 merge直到验证干净”的硬约束下完成发布版本决策、发布产物准备、候选版本验证与 Dogfood以及安全发布交接四个阶段。读完本文你将掌握一套可复制的受约束发布决策方法如何用证据判定 patch0.18.13还是 minor0.19.0、如何把每次验证固化为可审计的日志与票据以及如何把不可逆操作安全地移交给维护者。为什么发布决策需要“受约束的自动执行”发布是不可逆操作一旦推送 tag、触发 GitHub Release 工作流、发布 npm 包回滚代价极高。OmX 仓库为此在 RELEASE_PROTOCOL.md 中建立了强制协议而 .gjc/ultragoal/brief.md 正是将该协议固化为一份可执行任务简报brief的实例。简报的开头一句话即定义了全局约束Release 0.18.13 after all verification and dogfooding are complete. Choose 0.19.0 only if repository evidence shows breaking/public API changes requiring a minor release; otherwise prepare and release 0.18.13 as the next patch after 0.18.12. Do not tag, publish, push, merge, or perform irreversible release actions until verification is clean and the final release action is explicitly safe from repository context.这句话包含两个关键机制版本决策规则前置默认发布 0.18.13patch只有当仓库证据显示存在破坏性/公共 API 变更需要 minor 版本时才升级为 0.19.0。决策依据是“repository evidence”而非记忆或直觉。不可逆操作红线tag / publish / push / merge 均被明令禁止直到验证干净且最终发布动作从仓库上下文中被明确判定为安全。这份 brief 随后被拆解为四个goal段落G001–G004由 Ultragoal 工作流逐项执行并留痕。这正是 OmX“Your codex is not alone”理念在发布场景的体现让 Codex 目标模式goal mode配合仓库本地持久化产物形成可审计的多目标执行闭环。Ultragoal 工作流与三件套持久化产物Ultragoal 是 OmX 内置的“仓库原生多目标工作流”定义于 skills/ultragoal/SKILL.md在 Codex/goal目标模式之上将复杂任务拆成多个 story并落盘到仓库内形成持久、可审计的执行计划。本案例对应的持久化产物正是.gjc/下的三件套产物相对路径作用任务简报.gjc/ultragoal/brief.md全局约束 四个目标的目标定义目标计划.gjc/ultragoal/goals.jsonG001–G004 的结构化目标、状态、证据、完成校验审计账本.gjc/ultragoal/ledger.jsonlplan_created/goal_started/goal_checkpointed事件流从 src/cli/ultragoal.ts 的帮助文本可以看到完整的命令面omx ultragoal create-goals --brief text/--brief-file path/--from-stdin从简报创建计划默认使用 aggregate 目标模式一个 Codex 目标覆盖整个 runOMX 在账本中逐个 checkpoint story。omx ultragoal complete-goals [--retry-failed]推进执行并输出面向模型的手交接说明何时安全调用get_goal/create_goal/update_goal。omx ultragoal checkpoint --goal-id id --status complete|failed|blocked --evidence text在账本中为单个 story 打点。omx ultragoal steer --kind add_subgoal|split_subgoal|...结构化显式转向普通自然语言不会改动计划。omx ultragoal status --json查看聚合完成度。执行节奏遵循 skills/ultragoal/SKILL.md 的循环运行complete-goals→ 读取交接 → 完成一个 story → 用真实产物与验证证据审计目标 → checkpoint被阻塞的 story 以--status blocked记录失败任务用--retry-failed续跑最终 story 必须先通过最终质量门ai-slop-cleaner、验证、code-review 独立评审、架构不变量审计再用--quality-gate-json固化证据后 checkpoint。本案例的 .gjc/ultragoal/quality-gate-g001.json 正是这类质量门证据的实例。第一关版本与范围决策G001G001 的目标是“确定发布版本与范围”对应简报中的第一个goalInspect package metadata, changelog/release notes history, current repository changes, and recent commits/PR evidence to decide whether this is 0.18.13 or 0.19.0, and define the release scope.决策规则与证据面从 .gjc/ultragoal/goals.json 的 G001 记录可以看到决策围绕四个证据面surface展开包元数据基线读取package.json、Cargo.toml并与v0.18.12对比确认当前基线版本。发布历史阅读 CHANGELOG.md、docs/release-notes-0.18.12.md、docs/qa/release-readiness-0.18.12.md对 patch 与 minor 范围分类。仓库差异git log / diff / tag拓扑检查划定v0.18.12..HEAD的实际变更。开放 PR / Issue 清单检查当前开放的 PR 与 Issue判断是否存在升级为 minor 或阻塞 patch 的内容。RELEASE_PROTOCOL.md 给出了配套的命令级方法用git merge-base --is-ancestor $PREV $CANDIDATE验证前一 tag 是候选提交的祖先用git log --oneline --decorate $PREV..$CANDIDATE生成提交清单再交叉核对 compare 范围内每个合并提交 / PR 是否进入发布说明或被显式标记为内部-only。反例adversarial测试思维G001 最值得借鉴的是它的“证伪”机制——用四个反例用例反向检验决策breaking-contract寻找 package bin/engine 变更、被移除的活跃命令、不兼容 schema 或破坏性公共 API只要出现任一就应推荐 0.19.0 或阻止 patch 决策。major-feature评估新增的会话发现与 geobench 文档/spec 是否构成新的主工作流或不兼容公共契约只有构成时才升级 minor。open-pr-escalation检查开放 PR/Issue 是否改变发布范围或阻塞 0.18.13。topology-hazard由于v0.18.12指向 main 的 promotion 提交而dev与origin/main共享更早的 merge-base需要用--cherry-pick视角避免把 cherry 等价的 0.18.12 准备提交误算为 0.18.13 的新功能。最终结论G001 的结论是选择0.18.13包元数据停留在 0.18.12、最新发布 tag 为v0.18.12、发布后 dev 差异均为保持兼容的修复 / CI / 文档 / 依赖升级 / 增量会话与 setup 工作、未发现破坏性 package/bin/engine/schema 或已移除的活跃命令、开放 Issue 清单为空、开放 PR 均为 fix/docs/warning/safety 范围。执行端 QA/红队子代理1-ReleaseScopeQa与架构师评审子代理2-ReleaseScopeArchitectFast独立批准 0.18.13 而非 0.19.0。整个过程记录在 .gjc/ultragoal/ledger.jsonl 的goal_checkpointed事件中含完整的e2eCommands、redTeamCommands、surfaceEvidence与adversarialCases结构。第二关发布产物准备G002G002 的目标是“为选定版本更新所有版本化发布产物”对应简报第二个goalUpdate versioned release artifacts for the selected version, including package metadata, changelog, release notes, readiness evidence, and any generated catalogs or mirrored bundles required by repository conventions.版本元数据同步G002 通过npm version --no-git-tag-version 0.18.13并手工同步 Rust 与插件版本将以下文件对齐到 0.18.13根package.json与package-lock.json根 Cargo.toml 工作区包版本与根 Cargo.lock涉及omx-api、omx-explore-harness、omx-mux、omx-runtime、omx-runtime-core、omx-sparkshell插件元数据plugins/oh-my-codex/.codex-plugin/plugin.json生成目录镜像src/catalog/manifest.json 与 templates/catalog-manifest.json。同步后用node dist/scripts/check-version-sync.js --tag v0.18.13校验输出package0.18.13 workspace0.18.13 tagv0.18.13即为 PASS。发布配套产物按 RELEASE_PROTOCOL.md 的要求必须更新四份文件CHANGELOG.md、docs/release-notes-version.md、docs/qa/release-readiness-version.md、RELEASE_BODY.md。本案例对应产出为 docs/release-notes-0.18.13.md 与 docs/qa/release-readiness-0.18.13.md。发布说明至少包含五个板块Highlights、Fixes/compatibility、合并 PR 清单含 PR 编号、验证证据、完整 changelog 对比范围。若发布涉及$ultragoal、$ralph、$team、wiki、setup、原生 hooks、MCP 状态或 Codex goal 模式等主要工作流变更即使最终阻塞修复无关也必须出现在 Highlights。G002 的反例用例包括stale-version扫描版本承载文件中残留的 0.18.12 当前版本、publication-claim发布配套不得暗示 GitHub Release 或 npm 发布已完成、generated-mismatch插件镜像与生成目录必须与 SSOT 元数据一致、readiness-claims所有 PASS 勾选必须有持久化日志支撑。其中npm run build、verify:native-agents、verify:plugin-bundle、generate-catalog-docs.js --check、git diff --check的完整转录被固化到artifacts/release-0.18.13/logs/下构成可复查的验证日志。第三关候选版本验证与 DogfoodG003G003 的目标是“运行发布就绪所需的聚焦与全量验证通道并 dogfood 构建产物”对应简报Run the focused and full verification lanes required for release readiness, including dogfooding the built CLI/package surfaces enough to prove the release candidate works.全量与聚焦验证通道从 .gjc/ultragoal/goals.json 的 G003 记录可见验证分为四组全量编译 CI 等价门npm run test:ci:compiled完整跑通原生 agent 验证、插件 bundle 验证、全量编译 node 测试套件与目录文档检查。首次运行曾出现一次时序敏感的 process-tree 失败随后隔离复跑 process-tree 套件通过再干净重跑全量门最终日志test-ci-compiled-rerun.log无失败标记。聚焦变更面测试node dist/scripts/run-test-files.js focused release files覆盖 session/setup/hook/workflow 变更面并修复了 session-search 测试的隔离性泄漏。静态与打包门npm run check:no-unusedtsc -p tsconfig.no-unused.json、npm pack --dry-run产出oh-my-codex-0.18.13.tgz、git diff --check无空白错误。Dogfood用构建产物实测node dist/cli/omx.js --version、node dist/cli/omx.js session search --help、包元数据版本导入以及npm run smoke:packed-install打包安装冒烟。G003 的反例用例尤其体现了诚实边界full-suite-flake早期 process-tree 抖动不得让全量门“非绿放行”、focused-tests聚焦日志必须显示 fail 0、doctor-caveatomx doctordogfood 暴露的 user-home hook 迁移问题被如实归类为环境状态而非候选版本缺陷不宣称 doctor 全绿、publication-overclaim本地验证不得冒充 PR/tag/GitHub/npm 证明。第四关安全发布交接G004G004 的目标是“产出最终发布就绪交接列出剩余不可逆发布动作”对应简报Produce the final release readiness handoff with exact verification evidence and identify the remaining irreversible release command(s) that require maintainer execution or explicit approval.交接内容与证据映射最终交接以 docs/qa/release-readiness-0.18.13.md 为主记录包含范围与拓扑前一 tagv0.18.12、候选分支dev、冻结候选提交、compare 范围v0.18.12..HEAD及 promotion 拓扑注意事项。版本决策与 PR 清单14 个合并 PR/提交#2846 项目 resume/search 发现、#2845 CI 迁移 GitHub-hosted runners、#2843 hooks JSON 状态兼容、#2836 清理时保留项目 Codex 转录、#2833/#2832 依赖升级、#2824 sidecar 状态根对齐等与 4 个开放 PR。本地验证证据从版本同步、构建、原生代理验证、插件 bundle、目录文档检查、聚焦测试、CLI/包 dogfood、npm pack --dry-run含机器可读 JSON 指标、git diff --check到全量编译 CI 等价门全部映射到artifacts/release-0.18.13/logs/下的具体日志文件。剩余不可逆动作清单PR/push、CI、dev→main 提升、经批准的 tag push、tag 触发的 GitHub Release 工作流与原生资产清单、经批准的 npm 发布以及发布后证明捕获。发布边界纪律G004 反复强调一个原则发布边界不越权。本地 release-prep 证据 ≠ 已发布证明PR CI、dev/main 提升 CI、tag 工作流、GitHub Release 证明、npm 证明在缺少外部证据前一律保持 pending绝不勾选。反例用例publication-overclaim、missing-release-actions、log-mismatch、doctor-caveat分别对应“不冒充发布完成”“交接必须列全剩余动作”“PASS 声明必须有具体日志”“dogfood 缺陷必须如实披露”。最终架构师评审13-ReleaseHandoffReviewCorrected与执行 QA11-ReleaseHandoffQa均无阻塞发布交接完成但“发布动作本身仍留给维护者显式批准”。仓库中的发布协议与工具支撑Ultragoal 发布流程并非孤例而是与仓库的发布基础设施深度咬合RELEASE_PROTOCOL.md 七步协议冻结 compare 范围 → 基于证据而非记忆写发布说明 → 在打 tag 前校验 GitHub Release body → 发布就绪门 → 发布序列merge main → main CI 绿 → annotated tag → tag 触发工作流 → 验证 GitHub release / 原生资产 / npm 版本 → dev 快进 → 立即把 dev 元数据 bump 到下一个开发基线→ 发布后修正规则 → 停止条件。src/scripts/generate-release-body.ts消费 RELEASE_BODY.md 模板生成 GitHub Release body要求包含## Contributors、完整的 compare 范围变更与正确的**Full Changelog**行并审查贡献者名单与合并 PR 作者一致。package.json 验证脚本族test:ci:compiled、verify:native-agents、verify:plugin-bundle、verify:capabilities-lock、verify:prompt-guidance、smoke:packed-install等构成了发布就绪门可复用的命令面。可复用的受约束发布决策方法论以 0.18.13 为案例可以将这套流程提炼为四步决策清单适用于任何“不可逆操作受约束”的发布场景规则前置在 brief 中写清默认版本路径与升级触发条件本案例为“无破坏性证据则 patch”并明令禁止不可逆操作。证据驱动决策按包元数据、发布历史、git 差异、开放 PR/Issue 四个证据面取证并用反例用例主动证伪QA 红队与架构师独立评审后再定版。产物与验证一体化版本同步、发布配套、生成镜像三类产物与验证日志同步固化每条 PASS 都对应持久化日志每个 dogfood 发现都如实披露。安全交接readiness 文档精确区分“已完成”与“pending”把 tag push、GitHub Release、npm publish 等不可逆动作显式列给维护者等待显式批准后再执行。整个案例的完整审计轨迹可以在 .gjc/ultragoal/goals.json 与 .gjc/ultragoal/ledger.jsonl 中逐事件回放验证证据则落在 docs/qa/release-readiness-0.18.13.md 与artifacts/release-0.18.13/logs/日志目录。这套“约束前置、证据决策、验证留痕、边界交接”的组合正是 OmX 将 Codex 目标模式落地为可靠工程流程的缩影。【免费下载链接】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),仅供参考