ベータ機能。 この監査機能は、初期フィードバックを収集しながらベータ版として提供しています。
検出器カタログとレポート形式は、次の安定版リリース前に変更される可能性があります。
問題を発見した場合は、Issueを作成してください。
failproofai をローカルで実行している場合は http://localhost:8020/audit に直接アクセスしてください。
cd <cwd> プレフィックス、スリープポーリングループ、編集直後のファイル再読み込みなど)がどれだけ行われたかを報告します。
各トランスクリプトについて、すべてのツール使用イベントが39個の組み込みポリシーと、ランタイムポリシーではまだカバーされていないパターンを検出する8つの監査専用検出器を通じて再実行されます。カウントはすべてのセッションにわたって、ポリシー/検出器ごとに集計されます。
確認できる内容
/audit ページは6つのセクションで構成されています。
- Identity — 監査済みのすべてのトランスクリプトにわたる重み付きシグナルに基づいて、エージェントを8つのアーキタイプ(
optimist、cowboy、explorer、goldfish、paranoid architect、precision builder、hammer、ghost)のいずれかに分類します。 - Strengths — スキャンから得られた実際の数値(クリーンコール率、「認証情報漏洩ゼロ」など)。関連するsanitizeポリシーが実際に機能していることが条件となります。
- Score — 0〜100のスコアにS/A/B/C/D/Fのバンドと、推奨ポリシーをすべて有効にした場合の予測改善値を表示します。
- Findings — ポリシーごとのカード。何が起きたか、コスト、取得済みの証拠、および検出できたであろうライブタイム組み込み機能を有効にする正確な
failproofai policy add <slug>コマンドを表示します。 - Prescribed policies —
failproofai policies --installコマンド一発でインストールできるように集約されたリストです。 - Re-audit reminder — 「より良い状態で戻ってきてください」。APIサーバー経由で7日間のメールリマインダーを設定できます(サインインが必要。
failproofai authを参照)。
監査専用検出器
これらは、リアルタイムでは(まだ)適用されていない「非効率な動作」パターンを検出します。監査中のみ実行され、ライブのツール呼び出しをブロックすることはありません。| 検出器 | カウント対象 |
|---|---|
redundant-cd-cwd | コマンドがすでに cwd で実行されているにもかかわらず、cd <cwd> && … で始まるBashコマンド。 |
prefer-edit-over-read-cat | 単一のソースファイルへの cat/head/tail/less/more 操作 — Read ツールを使用すべき。 |
prefer-edit-over-sed-awk | sed -i / awk … > file によるインプレース編集 — Edit ツールを使用すべき。 |
prefer-write-over-heredoc | ヒアドキュメントや複数行の echo > file によるファイル書き込み — Write ツールを使用すべき。 |
sleep-polling-loop | 長い sleep N(30秒以上)や while …; sleep …; done によるポーリングループ。 |
find-from-root | find /、find /home、find /usr などのルートからの検索 — cwd にスコープを絞るべき。 |
git-commit-no-verify | git commit … --no-verify / -n によるフックのスキップ。 |
reread-after-edit | 同一セッション内で Edit/Write した直後のファイルへの Read 操作。 |
キャッシュ
- トランスクリプトごとのキャッシュ は
~/.failproofai/cache/audit/<sha1>.jsonに保存され、(mtime, size, engineVersion, detectorVersion)をキーとしています。トランスクリプトやポリシー/検出器のコードが変更されると自動的に無効化されます。各エントリにはcachedAtタイムスタンプが TTLメタデータ として保存されます(キャッシュキーには含まれません)。7日以上経過したエントリは読み取り時に拒否されるため、長期間保持された結果が進化する検出器の意図と乖離することはありません。 - 結果全体のキャッシュ は
~/.failproofai/audit-dashboard.json(モード0600)に保存されます。ナビゲーション時に再実行なしでダッシュボードを即座にレンダリングできます。こちらも 7日間のTTL を超えると読み取り時に拒否されます — その場合/auditは空の状態にフォールバックし、新たな実行を促します。レポート下部にある[ re-audit now ]をクリックして更新できます。再監査はnoCache: trueを送信するため、トランスクリプトごとのキャッシュをバイパスして、キャッシュ済みの結果を返さずすべてのトランスクリプトを再スキャンします。実行の進捗はページ上部のスティッキーストリップでストリーミング表示され、成功するとページのリロードなしに結果がその場で更新されます(再監査が失敗した場合は直前のレポートが維持されます)。
注意事項
- 変更なし。 監査は読み取り専用モードで再実行されます。
warn-repeated-tool-callsはスキップされます。これは、実行するとセッションごとのサイドカーが変更されてしまうためです。 - ワークフローポリシーはスキップ。
require-*-before-stopポリシーはStopイベント時にのみ機能し、ライブのgit状態に対してexecSyncを実行します。「2025年に何が起きていたか」という意味のある解釈ができないため、監査カウントには表示されません。 - カスタムポリシーはスキップ。 ユーザーが設定したカスタムフックは再実行されません(元のセッション以降に変更されている可能性があるため)。

