Theme / v1.12.0

OpenSpec

規格驅動開發

指令詳解

openspec validate --report findings 指令詳解

v1.12.0 新增的 findings-only 驗證報告:只輸出需要處理的 findings,同時保留完整 totals 與 exit code。

指令用途

openspec validate --report findings 用來把 bulk validation 的輸出縮成「需要注意的 findings」。它適合 CI、PR review 與大型 workspace,因為報告變短,但 validation 是否通過的判定不會被改寫。

基本用法

openspec validate --all --report findings

也可以搭配你原本使用的明確 bulk scope。重點是 --report findings 控制的是 report view,不是 validation policy。

CI 範例

set -o pipefail
openspec validate --all --report findings | tee openspec-findings.log

CI 仍直接使用 openspec validate 的 exit code 決定 job 成敗;tee 只保留一份短報告給 reviewer。

與完整報告的差異

面向 預設報告 --report findings
成功項目 顯示 省略
Error / Warning / Info 顯示 顯示
Run totals 保留 保留
Exit code 原規則 完全相同
適合情境 本機逐項檢查 CI / review / 大量 changes

v1.12.0 的錯誤分類

同一版本也讓 validation diagnostics 更可信:filesystem read error 與 missing spec 會分開呈現;merge conflict 是 informational finding,不會偷偷改變 exit code;advisory preflight failure 也不會把原本 validation report 吃掉。

關鍵學習點

不要把「log 更短」誤解成「驗證更寬鬆」。好的 CI 設計應讓顯示層可以針對人類閱讀最佳化,但判定層保持穩定、可機器依賴。