Skip to content

OpenSpecUI 12.0.0: validation findings CI can read directly

jixoai v12.0.0 openspecui

OpenSpecUI 12.0.0 turns validate's output from a log written for people into typed records a machine can read, lifts merge-conflict advice to a first-class INFO level, and adds SourceCraft Code Assistant to agent delivery. The compatibility window narrows to the OpenSpec CLI 1.12 line, which blocks 1.10 and 1.11 by default. Upgrading is one command.

Esta publicación está escrita en inglés. Léela en chino →

$ npm view openspecui version
12.0.0

OpenSpecUI 12.0.0 is out (2026-09-04). This release makes the result of validate consumable by CI directly, and moves the compatibility window onto the OpenSpec CLI 1.12 line.

Validation findings you no longer have to parse

Wiring validation results into CI used to mean parsing log text written for people. validate --report findings now emits typed records instead, so a machine can read them:

openspec validate --report findings

You can consume the findings on their own; the full-run totals and exit codes stay as they were. When the request itself fails, you get the same structured diagnostic back, with the error code invalid_validation_report_request.

Only the 1.12-line CLI produces this output. Older CLIs are rejected outright, not silently downgraded.

Two more changes landed just before release: the evidence panels now share a single header contract, and each finding is attributed to the change it belongs to (1aa9ce43, 13bb0e15).

Merge-conflict advice no longer mixes in with failures

The pre-archive merge-conflict check used to print its advice alongside genuine failures. Those two advisories now render on their own at informational level:

Example: the two advisories, verbatim
Archive would refuse this delta: ...
Could not check archive merge conflicts: ...

The level changed. The validity evidence did not. Neither advisory had a level of its own before this release.

SourceCraft Code Assistant gets the command files

If you use SourceCraft Code Assistant, you now receive OpenSpecUI's agent delivery as well. Commands land at .codeassistant/commands/opsx-<id>.md, the skill references are in natural language, and there is no IDE restart and no migration step.

Example: where the delivery lands
.codeassistant/
└── commands/
    └── opsx-<id>.md

The generator staleness baseline moves to 1.12.0.

Migration (breaking: the compatibility window)

The window narrows to >=1.12.0 <1.13.0. Blocked by default: 1.10.x and 1.11.x (the window for 11), older lines, prereleases, and >=1.13.0. Whether 1.13 is admitted when it ships is a separately verified decision, either widening the 12.x window or producing a new major.

The lowest-friction path is a one-line CLI upgrade:

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

If you genuinely have an incompatible CLI executable at hand, the mismatch dialog offers Skip version check. The bypass is held only by the current page runtime and clears on refresh or reopen. It is not a compatibility promise.

Other changes

  • The new contracts ship with version-pinned executable fixtures: openspec-cli-112 proves the contracts hold, and the retained openspec-cli-111 proves what happens when an older CLI is blocked (d782c98e)

  • The fixture method tightened as well: the worktree endpoint fixture pins a hermetic, self-contained CLI runner, and Windows lock-release retries are bounded (0baa17a0, 2c602a53)

  • The findings argv owner was gated during review rounds, and the workflow fixtures finished porting (677cbe13)

  • The compatibility gate and the Agent registry switched over (9e0b0383, release entry d272b1f)

24 commits from 11.1.0 to 12.0.0.

Acknowledgements

Every protocol step of the upstream OpenSpec CLI (@fission-ai/openspec) 1.12 line sets the bounds of this compatibility window.

Links