保護ファイル:エージェントコンテキストパッケージ
AIコーディングエージェントおよびコントリビューターが明示的な承認なしに変更してはならないファイルおよびパスを宣言し、保護境界を越えた場合の強制フックとエスカレーションを提供します。
パッケージステータス: AI支援リファレンスパッケージ。静的パッケージ検証は合格済み;実装シナリオは未実行であり、安定採用前に人間のドメインレビューが必要です。
決定事項
選択されたリポジトリパスを変更境界として扱い、変更前に人間の承認を必要とします。AIコーディングエージェントはコンテキストのために保護領域を読み取ることはできますが、明示的かつ監査可能な承認がない限り、書き込み、名前変更、削除を行ってはなりません。強制はフェイルクローズ方式であり、あいまいなパスは文書化されたカテゴリに一致する場合、保護対象として扱われます。
範囲
- 保護パスのカテゴリ、理由、および所有チーム。
- 承認ワークフロー、例外期間、監査証跡。
- プロジェクトコンテキストおよびCIパスガードに注入されるエージェント指示。
- 境界を越えた場合や例外期限切れ時のエスカレーション。
このブロックの外
- 完全なシークレット管理やキーのローテーション手順。
- 保護パスに関連しないコードレビューのスタイルガイド。
- 関連しない変更タイプの完了定義証拠。
契約
- 各保護カテゴリには安定したID、所有者、グロブまたはパスルール、文書化された理由がある。
- 保護パスへの書き込みは、
protection-policy.yamlに宣言されたカテゴリプレフィックスに一致するリンクされた承認チケットがない限りCIで失敗する。 - ブレイクグラス編集はチケットプレフィックスBREAK-を使用し、必要なすべての監査フィールドを含み、プロファイル期間内に期限切れとなり、事後レビューをトリガーする。
- AIエージェントは書き込みが試みられた際にカテゴリ名を明示した停止指示を受け取る。
- 期間限定の例外には所有者、期限日、範囲が含まれ、期限切れの例外は新規編集を承認できない。
- 保護パスのコンテキスト読み取りは書き込み権限を意味しない。
- 違反が発生した場合、可能な限り自動編集を元に戻し、解決までマージをブロックする。
実装ガイダンス
- ルールを
protection-policy.yamlにエンコードし、pre-commitフックおよびCIで読み込む。 - ポリシーをAIエージェントのシステムプロンプトやリポジトリルールファイルにミラーリングする。
- 保護パスは最小限に抑え、四半期ごとにレビューして一括ロックダウンを避ける。
- 完了定義ブロックと組み合わせて、保護パス変更に対して高度な検証を要求する。
障害対応と安全策
- 重要なホットフィックスで保護インフラに触れる必要がある場合は、BREAK-チケットを使ったブレイクグラスフローを利用し、必要な監査フィールドとプロファイル期間内の事後レビューを行う。
- パスルールが重複する場合は、所有者がポリシーを調整するまで最も厳しい拒否ルールが優先される。
- エージェントがローカルフックを回避しても、CIパスガードが権威を持つ。
検証と運用
- 違反試行、承認済み例外、承認までの平均時間を追跡する。
- 保護グロブが依然として実際の機密箇所に一致しているかを月次監査する。
- ステージングリポジトリで合成編集リクエストを使いエージェントの挙動をテストする。
このパッケージ内の実行可能に見える例はフィクスチャおよび受け入れ契約です。採用前にパッケージ構造を検証し、その後ターゲットリポジトリでシナリオを実装・実行してください。
採用前提
example.yamlおよびprotection-policy.yamlのチケットプレフィックス、パス、例外期間はサンプルモノレポ用のプロファイル選択であり、普遍的なデフォルトではありません。- チームはカテゴリを自分たちのセキュリティ分類および所有モデルにマッピングする必要があります。
参考文献
- 外部の規範的なソースは不要です。このパッケージがリポジトリの変更境界ポリシーを定義します。