このプロジェクトについて
dejavu-gatesは、AIコーディングエージェント向けのクロスセッション記憶レイヤーである。エージェントはセッション間で忘れてしまうため同じ過ちを繰り返し、markdownのルールではそれを修正できない。このツールは、繰り返されるツール呼び出しの失敗(bash、read、edit、write、glob、grep)を機械的に検出し、それらを強制ゲートへ昇格させる。次回試行時のリマインダー、同一セッションでの再発時にはハードブロックとなる。
1つのエンジンで多数のホストに対応する。OpenCodeプラグインとして、またClaude Code、Codex CLI、Gemini CLI、Cursor、Copilot CLI、Crush向けのフックハンドラCLIとして動作する。TypeScriptで書かれ、Bunで実行され、ビルドステップなしのソースとして提供される。
仕組み:失敗したツール呼び出しは正規化されたシグネチャを取得し(パス、数値、ハッシュは除去)、パターンキーがセッションをまたいでカウントされ、2つの異なるセッションで3回失敗するとゲートが昇格する。次の試行では呼び出しが中止され、[dejavu]リマインダーを受け取る。再試行が再び失敗するとハードブロックが発動する。診断コマンドはリマインドのみに留まるため、呼び出しは実行され、リマインダーはセッションごとに1回、失敗した出力にNOTEとして付随する。
設計上の選択には以下が含まれる。まずリマインドし、繰り返し時のみブロックする(純粋なブロックはパッケージマネージャの切り替えなどの回避策を招く)。ゲートメッセージには単なる禁止ではなくCORRECTIONとEVIDENCEを含める。ホットパスにLLM分類を入れず、機械的なパターンキーのみを用いる。2つのスコープ、すなわちリポジトリ内のリポジトリ固有ゲートとユーザー設定内のエージェントレベルの習慣。ゲートは再発なく60日で失効する。そして、ゲートが実際に再発を減らすかを確認するためのゲート後再発メトリクス。
強制には負のフィードバックがある。繰り返し再発し続ける、または明示的にバイパスされ続けるゲートは自らウォッチングへ降格し、機械的に再昇格しない。人間が再強制できる。ゲートは回復もする。強制ゲートに一致する3回連続の成功でウォッチングへ引退し、何度もリマインドされても再犯がないゲートは教示済みとして引退する。
安全性と堅牢性の詳細:非診断のbashコマンドのみがブロッキングゲートになれる。ファイルプローブはウォッチングに留まる。残存する同一性がないシグネチャはウォッチのみ可能。フックCLIはフェイルオープンし、不正なペイロードや内部エラー時には空の決定と終了コード0を返す。シークレットは永続化前にスクラブされ、端末制御文字は除去され、ストアは初期化時に調整・修復され、破損ファイルは隔離される。並行性はロックファイルとtmp+rename書き込み、Windowsエラー時の再試行を使用し、リマインドからブロックへのエスカレーションチェーンはゲート上に永続化されるため、複数のウィンドウとハーネスがそれを共有する。
インストールはnpx、複数ハーネス向けのネイティブプラグインチャネル、GitHub Packages、またはクローンからのインストーラスクリプトで可能であり、各ハーネス設定にフックエントリを冪等にマージする。可観測性にはdoctorスクリプト、analyzeスクリプト、/dejavu statusコマンド、デバッグ環境変数が含まれる。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.