Skip to main content
パックとは、GitHub リリースとして公開されたポリシーの集合です。インストールはコマンド1つで完了します。実行前にリリースのチェックサムが検証され、ダイジェストが記録されるため、以降はマシン上でパックが変更されることはありません。 すべてのパックと各パック内のすべてのポリシーは、ポリシーハブで参照できます。パックには2種類あります。
  • Failproof AI ポリシーパック — あらかじめ定義されたユースケース向けの既製パックです。導入するだけですぐに使えます。コーディングエージェント ポリシーパックが現在提供されており、他のユースケース向けパックも近日公開予定です。
  • コミュニティポリシーパック — 開発者が自身のユースケース向けに作成し、誰でも利用できるよう公開したポリシーです。

Failproof AI ポリシーパック

コーディングエージェントポリシーパック

このパックには38のポリシーが含まれており、マニフェストで無人実行時に安全とマークされた10個が自動で有効化されます。残りは選択肢として一覧表示されます。よく使われるポリシーと、単に policies add を実行したときに有効になるかどうかは以下の通りです。 無効なポリシーは名前で有効化できます — failproofai policies add block-rm-rf — またはパック全体を --all で取得できます。カテゴリー別に全ポリシーを確認するには以下を実行します。

コミュニティポリシーパック

開発者が自身のユースケース向けにパックを公開しており、ポリシーハブで一覧を確認できます。コミュニティパックはその作者が公開したもので、Failproof AI による審査は行われていません。インストール前に内容を確認してください。
このコマンドはパックに含まれるすべてのポリシーをカテゴリー別に表示し、作者がデフォルトで有効化しているものをマークします。マニフェストのみを読み込みます — エントリーアーティファクトはダウンロードもインポートもされないため、見知らぬパックを参照しても見知らぬコードが実行されることはありません。マニフェストはリリース自体の SHA256SUMS に照合して検証されるため、表示される内容がそのままインストールされます。 インストールするには以下を実行します。
以下のいずれの形式でも使用できます。 タグを指定しない場合、最新リリースをインストールして固定し、選択されたタグを通知します。記録された内容は常に特定のリリース1つを指すため、再インストール時にバージョンがずれることはありません。

パックの一部だけを取得する

デフォルトでは、パックの独自のデフォルト — 作者が無人実行時に安全とマークしたポリシー — のみが有効化され、含まれるすべてのポリシーが適用されるわけではありません。
--category と --policy は OR 条件で組み合わせられます(--only は --policy の同義語として使用可能)。パックがすでにインストール済みの場合、フラグで指定した内容は既存の選択に追加されます。フラグなし・端末なしで再追加した場合(アップグレード時など)は、既存の選択がそのまま維持されます。端末上でフラグなしで add を実行すると、作者のデフォルトがあらかじめチェックされた状態でピッカーが開き、チェックした内容が選択を置き換えます。

有効なポリシーを管理する

パックのポリシーの有効・無効の切り替えはマシン全体に適用されます。--scope の値に関わらず、この設定はプロジェクトの設定ではなくインストール済みパックに記録されます。 スラッシュのない名前はポリシーを、スラッシュを含む名前はパックのソースを指します。単独の名前は、それを宣言しているインストール済みパックに解決されます。2つのインストール済みパックが同じ名前を宣言している場合は、対象を明示してください。
スコープ、パラメーター、およびこれらのコマンドが書き込むファイルの詳細については、ローカル設定を参照してください。

整合性検証で保証されること・されないこと

SHA256SUMS はアーティファクトと同じリリースに含まれているため、署名ではなく、誰が公開したかを証明するものではありません。証明されるのは、バイト列がそのリリースが公開したものと一致するということです。また、パックを追加した際にダイジェストが記録され、インポート前に毎回再検証されるため、以降はマシン上でパックが変更されることはありません。タグを付け直したりアセットを差し替えたりしたリポジトリは、他のものを静かに実行するのではなく、読み込みに失敗するようになります。 インストール時にはパックが一度インポートされ、自身のマニフェストと照合されます。アーティファクトが解析できないパック、または宣言された内容以外のものを登録しようとするパックは、何かが有効化される前に拒否されます。これにより、クリーンにインストールされた後に次のツール呼び出しで失敗するという事態を防ぎます。

パックが読み込まれない場合

このマシンに適用するよう設定されたパックが実行できない場合、欠落しているポリシーが対象とするイベントを暗黙的に許可するのではなく、拒否します — pack/failproofai-pack-unavailable として処理され、読み込まれたポリシーよりも優先されるため、拒否は最初に発火したガードではなく欠落したパックに帰属します。例外は UserPromptSubmit で、こちらは拒否ではなく指示として処理されます。拒否するとエージェントにアクセスできなくなり、問題を修正できなくなるためです。詳細は障害時の動作を参照してください。

オフラインとミラー

独自のポリシーをこの方法で共有する方法については、ポリシーパックを公開するを参照してください。