登録されたID
すべてのエージェントは記録である:安定したagent_id、ロール、Ed25519キーバインディング、作成日。どのプロセスが何をしたのか推測する必要はない—レジストリが誰が存在するかという真実の源泉だ。
2027年までに、フリートは—匿名プロセス群のフリートは負債となる。LeanCTXはすべてのエージェントを登録されたIDとする:一意で、人間が所有し、ライフサイクル管理され、証明され、取り消し可能—すべてトランザクションの改ざん防止監査証跡に記録される。
ロールは再利用可能な権限プロファイルである。アイデンティティが説明責任を上乗せする:agent_id、owner、status、key binding、attestation、heartbeat。この4つのプロパティがフリートをガバナブルにする。
すべてのエージェントは記録である:安定したagent_id、ロール、Ed25519キーバインディング、作成日。どのプロセスが何をしたのか推測する必要はない—レジストリが誰が存在するかという真実の源泉だ。
人間オーナーなしでの登録は拒否される。説明責任は構造的である:すべての監査エントリ、すべてのライフサイクルイベント、すべての証拠バンドルが、そのエージェントに責任を負う人物に追跡される。
エージェントを一時停止するか、オーナーをオフボード化してそのフリート全体をアトミックに一時停止する—それぞれの停止が個別に監査される。廃止は最終的であり、監査の締めくくりとなるエントリを書き込む。
登録時とすべてのハートビートでバイナリおよびロール設定ハッシュを記録する。ドリフトは即座に表面化する(終了コード3)—アップグレード、設定編集、または改ざん。我々はこれが何を守らないかを文書化する。
すべてがCLIファーストであり、終了コードに正直であるため、パイプラインやモニタリングもそれに基づいて動作できる。
$ lean-ctx agent register --id ci-reviewer-1 --role reviewer --owner alice@org registered: ci-reviewer-1 (role reviewer, owner alice@org) spiffe id: spiffe://org.example/agent/reviewer/ci-reviewer-1 $ lean-ctx agent heartbeat ci-reviewer-1 # liveness + drift; exit 3 on drift $ lean-ctx agent offboard-owner alice@org --reason "left company" suspended 2 agent(s): ci-coder-1, ci-reviewer-1 $ lean-ctx agent check ci-reviewer-1 # enforce-path decision point ci-reviewer-1: DENIED — suspended: left company # exit 1
すべての遷移は改ざん防止の監査エントリを書き込みます—登録、一時停止、再開、廃止は標準化されたイベントタイプ(OCP Part 4)であるため、ID履歴は自動的に証拠バンドルに格納されます。完全なモデルと脅威モデル:agent-identity ドキュメント。
「誰かが退職したらどうなるか?」
エージェントが停止します。機械的に。所有者のオフボーディングは、その所有者に属するすべてのアクティブなエージェントを単一のロックされたトランザクションで一時停止します—これはSCIMの廃止フローに接続するか、退職者チェックリストから実行できます。孤立したエージェントとは、エージェント時代の忘れられたサービスアカウントです。LeanCTXはこれを構造的に不可能にします。
ロールはプロセスができることを示し、IDは誰が責任を負うかを示します。フリートの場合、重要なのは運用上の質問です:誰がこのエージェントの所有者か、最後に稼働したのはいつか、誰がそれを停止させ、なぜか、所有者が退職したときその権限はどうなるか?レジストリはこれらに機械的に回答します—ID(誰)はロール(何)から分離されるため、ロールは再利用可能なプロファイルとして維持されます。
人間の所有者が会社を去ったが、その認証情報を使って稼働し続けるエージェント—これは忘れられたサービスアカウントのエージェント時代版ですが、コードを読み取りコマンドを実行します。LeanCTXはこれを構造的に解決します:登録時に所有者は必須であり、単一のコマンド(またはSCIMの廃止フロー)で、所有者のアクティブなフリート全体が単一のロックされたトランザクションで一時停止され、すべてのサスペンションが監査されます。
active → suspended ⇄ active → decommissioned。サスペンションには理由が付随し、元に戻すことができます。廃止は設計上最終的です—記録は決して削除されず、再アクティブ化されることもありません。なぜなら、IDが監査履歴の一部だからです。すべての遷移は標準化されたイベントタイプ(agent_registered, agent_suspended, agent_resumed, agent_decommissioned — OCP Part 4)を使用して改ざん防止の監査エントリを書き込みます。したがって、IDの変更は自動的に証拠バンドルに表示されます。
登録時とすべてのハートビートは、実行中のバイナリとアクティブなロールファイルをハッシュ化します。ハッシュが変わったということは、何か変更があったこと—アップグレード、設定の編集、または改ざん—を意味し、監視がアラートできる非ゼロの終了コードとしてドリフトとして表面化します。これはリモートアテステーションではなく、ドリフト検出です:完全なホスト制御を持つ攻撃者はハッシュを偽造でき、我々の脅威モデルはそれを明確に述べています。これは、ホストの強化やコード署名を置き換えるものではなく、補完するものです。
3つのフックがあります。SPIFFE:すべてのレコードは spiffe://<trust-domain>/agent/<role>/<agent_id> にマッピングされるため、K8sのワークロードID(SPIRE)とLeanCTXのIDが同じ名前になります。SCIM:廃止フローを所有者オフボーディングコールに接続します。強制モード:チェックAPIは単一の決定ポイントです—未登録または一時停止されたエージェントは拒否されます。モニターモードで開始し、フリートが登録されたら強制モードに切り替えます。
1分でローカルかつ無料で最初のエージェントを登録するか、SCIMとSPIFFEを活用したフリート展開について相談してください。