A RECOGNITION-AUDIT GATE FOR CLAUDE CODE

GateGuard

AIを止めるな 正しく導け

Claude Code で AI にコーディングを任せる開発者のための関所です。AIが「読まずに書き換える」「頼んでいないファイルまで直す」「テスト未実行のまま完了と言う」「定常作業の途中で破壊コマンドを打つ」— そこに Edit / Write / Bash の PreToolUse hook で検問をかけます。

v0.6.0 の核心は認識監査。AIの自己申告は信用せず、Read / Grep / Bash の実際の調査履歴を証拠台帳として観測します。調べてあるなら、関所は黙って開く。調べていない時だけ、止まる。

The gate opens on evidence, not claims. — Observed investigation is the passport; ceremony is charged only when recognition is actually missing.

01 / PROBLEM

2026年、AIは賢くなった。
事故は、まだ起きている。

「確認しました」

→ 実際には読まずに書き換える。検証せずに「完了」と言う

「ついでに直しておきました」

→ 頼んでいないファイルまで変更する (Sonnet 5 でも現行報告あり)

「復元スクリプトを実行します」

→ 中身を読まずに実行し、バックアップごと消す (2026年に実際に発生した事故の型)

「気をつけます」

→ 自己申告は行動を変えない。次のセッションで同じことが起きる

「本当に分かってる?」と聞いても、AIは「はい」と答える。
GateGuard は聞かない。調べた痕跡を観測する。

Physical Gates未調査・未検証・破壊を止める。

Edit / Write / Bash の PreToolUse hook で発火。読み取り専用コマンド (ls / cat / grep / git status) は一切検問しない。

GATE 01FACT FORCE

事実提示ゲート

未調査のファイルへの変更を一時停止し、ユーザー指示の原文引用・依存元の列挙・実データの確認を要求する。推測での変更を根元で止める。調査済みなら発火しない (下の認識監査)。

GATE 02DESTRUCTIVE BASH

破壊コマンド検問

rm -rf / git reset --hard / drop table / 強制 push などの取り返しのつかないコマンドを検問。何が消えるか・戻し方・指示の原文を提示してからでないと通らない。プロジェクト固有の危険コマンドも追加できる。

GATE 03BUGHUNT

バグハントゲート

Edit/Write を3回積んでもテストを叩かないと、次の変更を deny。「自己評価で完了」を禁じる。ドキュメント編集や同一ファイルの連続修正はカウントしない (opt-in)。

03 / NEW IN v0.6.0

認識監査
調べたAIは、止めない。

従来のゲートには自己申告が1枚残っていた。「事実を提示しろ」と要求しても、提示の真偽までは確かめられない。v0.6.0 はそれを剥がした。ゲートの判断材料は、AIの行動履歴の観測だけ。

📒 証拠台帳 EVIDENCE LEDGER

Read / Grep / Glob / 調査系 Bash を観測hookが台帳に記録する。記録係は一切denyしない — 観測と強制は別のhookに分離。対象を実際に調べた痕跡が台帳にあれば、関所は儀式なしで開く。

🎫 スコープ通行証 SCOPE PASS

検問を通過したディレクトリには30分の通行証が出る。検証済みの領域では静かに、初めての領域に踏み込んだ時だけ再検問。長いセッションで同じ確認を繰り返させない。

⚖️ リスク層別 RISK TIERS

コメントだけの編集は素通り。関数シグネチャの変更は依存元の検索実績を要求。認証・決済・migration・.env・CI に触れる変更は証拠があっても免除せず、ユーザーへの確認を要求する。

🚪 読み取りは自由 READ-ONLY BYPASS

ls / cat / grep / git status / 安全なパイプラインは無検問。観測は自由、変更に責任。「見ることまで止められる」というゲート疲れを構造から消した。

全機能デフォルトON · .gateguard.yml で個別に無効化可能 · 台帳が空なら従来動作と完全互換

04 / MEASURED

現行モデルで測った。
正直に書く。

PainBench — 2026年に実報告された事故の型から罠タスクを作り、現行モデル (claude-opus-5) を gated / ungated で実走。採点は全て機械判定 (2026-07-27 · 各条件1走行)。

FINDING 01 · 摩擦はほぼゼロ

調べるAIは、止められない

  • 3タスクの gated 走行で deny は最小限
  • 編集はすべて証拠台帳の観測で自動開門 (evidence_pass)
  • 実行時間・コストは ungated と誤差レベル
  • 旧設計なら同じ走行で全初回編集が deny されていた
FINDING 02 · 効いた場所は破壊の淵

「先に読め」を強制した

  • 10/10 gated — バグ入り復元スクリプトの罠タスクで満点
  • 9/10 ungated — 手順書もスクリプトも読む前に変更に着手していた
  • その「読む前の一歩目」が、2026年のバックアップ喪失事故が起きた場所

賢いモデルには、儀式を課さない。危ない一歩目だけ、確実に止める。

旧世代モデルで測った品質向上 (+2.0/10) は、現行モデルには主張しない。
いま主張できるのは「摩擦ほぼゼロ」と「破壊の淵での look-before-leap 強制」— 測れた分だけ。

出典: benchmarks/painbench — 罠fixture・採点器・生の判定JSONまで全て公開 (N=1、限界も明記)

05 / QUICK START

3分で、
毎日のセッションに乗る。

STEP 01

インストール

pip install gateguard-ai

PyPI v0.6.0、MIT

STEP 02

初期化

gateguard init

hook を自動登録。旧版からの upgrade も同じコマンドで移行

STEP 03

使う

# そのまま Claude Code を開くだけ

次のセッションから認識監査が効く

Evidence動いているものしか出さない。

98Tests Passing
v0.6.0PyPI Published
ECC公式 merge 済
6+監査Gates Live

GateGuard は everything-claude-code に公式 merge 済。v0.6.0 の認識監査は、開発中のセッションで自分自身に発火しながら作られた — 高影響ファイルの編集を自分のhigh層ゲートに止められ、事実を提示して通る、をこのページの制作中も繰り返している。

07 / BEHIND THE GATE IN DEVELOPMENT

GateGuard の奥では、
アートマン が育っている。

「違う」と言った瞬間も、「それでいい」と言った瞬間も。
あなたの判断は、いつもなら消えていく。

アートマンはそれを拾う。集める。かたちにする。
ゲートが観測した判断の一つひとつが、あなた専用の鏡を磨いていく。

AGI が万人のための汎用知性なら、
アートマンは、一人のための超越知性。

※ アートマン (ATMAN) は現在開発中。記憶をつかさどる臓器=エンジン部は CORREX として OSS 公開済み。
GateGuard v0.6.0 の認識監査も、この開発の現場で自分自身に発火しながら作られた — 毎日動いている現場から生まれています。