Skip to content

OpenSpecUI 12.0.0:CI 能直接读的验证结果

jixoai v12.0.0 openspecui

OpenSpecUI 12.0.0 让 validate 的结果从人读的日志变成机器可读的类型化输出;合并冲突建议升为一等 INFO 级;Agent 交付新增 SourceCraft Code Assistant。兼容窗口切到 OpenSpec CLI 1.12 一条线,1.10/1.11 默认被挡,升级只需一行命令。

$ npm view openspecui version
12.0.0

OpenSpecUI 12.0.0 发布了(2026-09-04)。这一版让 validate 的结果可以直接被 CI 消费,并把兼容窗口挪到 OpenSpec CLI 的 1.12 一条线上。

验证结果不用再解析日志

以前要把验证结果接进 CI,只能去解析给人看的日志文本。现在 validate --report findings 直接给类型化的记录,机器读得懂:

openspec validate --report findings

你可以只消费发现部分,整轮的 totals 与 exit codes 照旧保留。请求本身出错时返回的是同一套结构化诊断,错误码 invalid_validation_report_request

这份输出只有 1.12 线的 CLI 提供。老 CLI 会被明确拒绝,不是静默降级。

发布前又收了两处:证据面板统一到共享的 header 契约,每条发现都归因到它所属的 change(1aa9ce4313bb0e15)。

合并冲突的提示不再混进失败

归档前的合并冲突检查,以前它的建议和真正的失败挤在一起看。现在这两条 advisory 单独渲染成信息级:

Archive would refuse this delta: ...
Could not check archive merge conflicts: ...

等级变了,validity 证据不变。这两条以前没有自己的等级,现在有了。

SourceCraft Code Assistant 拿到命令文件

用 SourceCraft Code Assistant 的人,现在也能直接收到 OpenSpecUI 的 Agent 交付。命令落在 .codeassistant/commands/opsx-<id>.md,skill 引用是自然语言的,不用重启 IDE,也没有迁移步骤。

.codeassistant/
└── commands/
    └── opsx-<id>.md

生成器的基线同步到 1.12.0。

迁移(破坏性:兼容窗口)

窗口收窄到 >=1.12.0 <1.13.0。1.10.x 与 1.11.x(那是 11 的窗口)、更老的线、预发布版,以及 >=1.13.0,默认都被挡。1.13 发布时是否准入,由另行验证的结果决定:要么放宽 12.x 的窗口,要么出一个新 major。

最低摩擦路径是一行升级 CLI:

npm install -g @fission-ai/openspec@1.12

手头确有不兼容的 CLI 可执行文件时,mismatch 对话框提供 Skip version check。该旁路只在当前页面运行时内有效,刷新或重开即清,不构成兼容承诺。

其余变更

  • 新契约配了版本锁定的可执行 fixtures:openspec-cli-112 验证新契约成立,保留的 openspec-cli-111 验证老 CLI 被挡时的行为(d782c98e

  • fixture 方法收严:worktree 端点 fixture 锁定自包含的 CLI runner(hermetic,不依赖外部环境),Windows 锁释放的重试有界(0baa17a02c602a53

  • findings 的 argv owner 在评审轮里被门控,workflow fixtures 完成移植(677cbe13

  • 兼容门与 Agent 注册表完成切换(9e0b0383,发布条目见 d272b1f

从 11.1.0 到 12.0.0 共 24 个提交。

致谢

上游 OpenSpec CLI@fission-ai/openspec)1.12 线的每一次协议演进,都决定着这个兼容窗口的范围。

链接