エージェントは「完了」と言う。証拠を見せてもらおう。
人間が承認した意図、証拠で証明された完了。
Warrant は人間が承認した Story の範囲内で作業します。complete は今回の作業ツリーの納品のみを意味します。宣言された検証、今回の条件、発動済みの後続検査がすべて合格し、後続検査に既知の失敗がないことが必要です。
Claude Code でインストール
/plugin marketplace add CarlLee1983/Warrant
/plugin install warrant@warrant

エージェントは自信満々。でも自信は証拠ではない。
早すぎる勝利宣言
「テストはすべて通りました」――実際には実行していない、あるいは失敗した一つを黙ってスキップしている。
スコープを広げる
一行で済む修正に、誰も頼んでいないリファクタリングが付いてくる。
ゴールを動かす
要件が難しいと、書き換えられるのはコードではなく要件のほう。
3 つのルール

意図は人間が承認する
作業は Story から始まります。Story は目標、対象外、受け入れ条件の 3 セクションだけ。人間が commit するか、セッション内で明示的に割り当てたときだけ有効です。

完了は証拠で証明する
最終作業ツリーで AGENTS.md の検証コマンドを実行します。今回の納品条件すべてに commit 前の合格を示す観察が必要で、staged、unstaged、untracked の変更を含めます。

エージェントは基準を書き換えない
要件を変えない、受け入れ条件を緩めない、スコープを広げない。Story の範囲外の作業が必要なら、エージェントは止まって報告します。
Story の流れ
Story
目標、対象外、受け入れ条件。作業ツリーの検査と本当に後の段階が必要な検証の分類を、実装前に人間が承認します。事後の再分類は禁止です。
エージェントの作業
Story の範囲内だけ。それ以上はしない。
検証コマンド
AGENTS.md が宣言した唯一のコマンド。
完了報告
証拠、省略・ブロックされた検査、残存リスクと Warrant-Result の 1 行。承認済みで未発動の後続検査は pending にできます。発動後の証拠不足は partial、既知の失敗には verification-failed が必要です。complete は commit、push、CI、merge、deploy の成功を意味しません。
2 ステップで導入
プラグインをインストール
Claude Code で 2 つのコマンドを実行(上記)。
ブロックを貼り、検証コマンドを宣言する
agents-block.md を AGENTS.md に貼り付け、検証コマンドを記入して PR の CI で実行します。任意の skill がなくても、ブロックに基本の起草・報告チェックが含まれます。plugin 更新は貼り付けたブロックの更新や古い Story の再承認をしません。更新時は Warrant ブロックのみ置き換え、既存コマンドと無関係なルールを維持します。
ツールではなく、ルール
Warrant が提供するのはルールだけで、スクリプト、CLI、チェッカーではありません。強制力は CI と人間のレビューにあります。今回の納品の証拠不足、検証のブロック、ユーザーによるチェック省略は partial です。構造化された結果で理由を集計できますが、品質改善の因果的証拠にはなりません。
