権限モードはAPCではなくAPXに存在する

APCはポータブルなコンテキスト層です。APXはランタイムおよびツール層です。この区別はセキュリティにおいて重要です。

権限はプロジェクトの真実ではありません。それはマシンの方針です。

リポジトリは、摩擦なくノートPCとデスクトップ間を移動できなければなりません。権限設定によって、すべてのマシンに同じリスクレベルを強制すべきではありません。権限の状態をAPCに置くと、ローカルの信頼と共有コンテキストが混在してしまいます。

APXは境界を明確に保ちます。権限モードはリポジトリではなく、ローカルの設定に存在します。

利用可能なモードは以下の通りです:

  • total: 確認なしですべてのツールを実行する。
  • automatico: 安全な読み取りとシェル操作を許可する。破壊的な操作や外部へのアクションについては確認を求める。
  • permiso: 許可されたツールのみを直接実行する。それ以外はすべて確認が必要。

デフォルトはautomaticoです。これにより、日常業務においてランタイムを使用可能な状態に保ちます。

APCはプロジェクトのメタデータ、エージェント、およびスキルを扱います。このコンテンツはツール間で安定しており、gitとの相性も良好です。

権限モードはランタイムの事実に依存します:

  • マシンの所有者は誰か。
  • マシンが個人用か共有用か。
  • タスクが探索的なものか、あるいはハイリスクなものか。
  • 今日、ランタイムにどの程度の信頼を与えるか。

権限をAPCに移動すると、2つの問題が発生します。新しいマシンに適さない可能性のあるポリシーを継承してしまうこと、そしてローカルの安全性の選択を、共有プロジェクトの「お荷物」に変えてしまうことです。

リポジトリは作業内容を記述します。APXはローカルのランタイムにどれほどの権限を与えるかを決定します。

APXはこれをコードで強制します。createPermissionGuard 関数がグローバル設定を読み取り、ツールの呼び出しをブロックまたは許可します。

この構造は、実際の作業方法と一致しています。ファイルの読み取りは、リポジトリの変更とは異なります。安全なルックアップは、MCP接続とは異なります。

同じAPCプロジェクトを、異なるAPXポリシーで使用できます。ノートPCではautomaticoを、共有ワークステーションではpermisoを使用してください。

設定がどこに属すべきかを判断するには、このテストを使用してください:

  • それが「このプロジェクトは何であるか?」という問いに答えるものなら、APCに置いてください。
  • それが「このマシンは今、何ができるか?」という問いに答えるものなら、APXに置いてください。

権限モードはAPXに属すべきです。これによりAPCのポータビリティが維持され、ローカルのランタイムの整合性が保たれます。

Source: https://dev.to/agentprojectcontext/permission-mode-lives-in-apx-not-apc-50d6

Optional learning community: https://t.me/GyaanSetuAi