你的 agent 說做完了。拿出證據。
人核准的意圖,以證據證明的完成。
Warrant 讓工作以人核准的 Story 為界。complete 只代表當次工作樹交付已獲證明:宣告指令、當次條件與已觸發的後續檢查均通過,且無已知失敗的後續檢查。
在 Claude Code 安裝
/plugin marketplace add CarlLee1983/Warrant
/plugin install warrant@warrant

Agent 很有自信。自信不是證據。
提早宣告勝利
「測試全部通過」——其實沒跑,或是悄悄跳過了失敗的那一個。
擴大範圍
一行就能修好的問題,附上一整包沒人要求的重構。
臨時改標準
需求做不到時,被改寫的是需求,而不是程式碼。
三條規則

意圖由人核准
工作從 Story 開始,它只有三段:目標、範圍外、驗收條件。只有在人把它 commit 進主分支,或在當次對話中明確指派時才算數。

完成由證據證明
在最終工作樹執行 AGENTS.md 宣告的驗證指令。每條當次交付條件須在 commit 前有通過觀察,涵蓋 staged、unstaged 與 untracked 變更。

agent 不得改寫標準
不改需求、不放寬驗收條件、不擴大範圍。需要做 Story 範圍外的事,agent 就停下來回報。
一份 Story 怎麼走完
Story
目標、範圍外、驗收條件。實作前由人核准工作樹檢查與真正依賴後續階段的驗證分類,不得事後改列。
agent 工作
只在 Story 的範圍內,不多做。
驗證指令
AGENTS.md 宣告的那唯一一條指令。
完成回報
證據、跳過或受阻的檢查、殘餘風險,加上一行 Warrant-Result。已核准且未觸發的後續檢查可列 pending;已觸發但無通過證據為 partial,已知失敗須列 verification-failed。complete 不代表 commit、push、CI、merge 或 deploy 成功。
兩步驟導入
安裝 plugin
在 Claude Code 輸入兩條指令(見上方)。
貼上區塊,宣告你的驗證指令
把 agents-block.md 貼進 AGENTS.md,填入驗證指令並在 PR CI 執行。區塊已含核心起草與回報檢查,不需載入可選的 skill。plugin 更新不會更新手貼區塊或重新核准舊 Story;升級只替換 Warrant 區塊,保留原有指令及其他規則。
是規則,不是工具
Warrant 只發佈規則,不提供腳本、CLI 或檢查器。強制力來自 CI 與人工審查。當次交付缺少證據、驗證受阻或使用者略過檢查,皆為 partial。結構化結果讓原因可統計,但不是品質改善的因果證據。
