cartographer.mapモジュール 17Cartographer edge review
リソース間の接続を自分で管理できるマップに保ちます。地図作成者が提案し、人または自分が書いた境界が承認します。
cartographer.map は、承認済みのエッジ、承認待ちの修正、有効な自動承認の境界を返します。モデルがテキストを読み、ホットパスの外でエッジを提案します。各エッジは人が承認するか、コンパイル済みマンデートの境界が、一覧にあるリレーションを上限まで通します。
cartographer.mapモジュール 17リソース間の接続を自分で管理できるマップに保ちます。地図作成者が提案し、人または自分が書いた境界が承認します。
cartographer.map は、承認済みのエッジ、承認待ちの修正、有効な自動承認の境界を返します。モデルがテキストを読み、ホットパスの外でエッジを提案します。各エッジは人が承認するか、コンパイル済みマンデートの境界が、一覧にあるリレーションを上限まで通します。
edges{ from, to, rel } で表します。rel の既定値は relates です。pendinghold とキューに入った時刻が付きます。pending[].holdinfer はテキストをパス外のモデルに送って候補エッジを得ます。propose はエージェントや人が指定したエッジを受け付けます。どちらも書き込み前に同じ検査を通ります。
エッジが通るのは、そのリレーションが境界内にあり、両端点がすでにマップ上にあり、異なるエージェントが保持する2つの有効なリースを統合せず、上限に達していない場合だけです。
共有デモワークスペースでデモ用キーを使って実行します。中身は誰でも見られるため、非公開の情報は送らないでください。 cartographer.mapの資料
実行を押すと、左のリクエストが共有デモワークスペースに送信されます。
共有デモワークスペースでデモ用キーを使って実行します。中身は誰でも見られるため、非公開の情報は送らないでください。
APIが受け付ける形のリクエストと、モジュールが返す形のレスポンス例です。
GET /api/v1/acp/cartographer/map Authorization: Bearer av_workspace_•••• → 200 { edges, pending, bounds }
エージェントが、課金サービスが台帳を呼び出していると報告します。エッジはモデルの言葉でマップを書き換えず、オペレーターが承認するまで pending で待機します。
マンデートにより、calls エッジは3件ずつ承認されます。他のリレーションは引き続き人の判断を待ちます。
提案されたエッジが、異なるエージェントがいま保持している2つのリソースを結びつけてしまいます。would_merge_active_conflict として保留されます。
モジュールは、狭い範囲について強く保証します。保証されることだけを頼ってください。
edge 呼び出しが必要です。コンパイル済みマンデートの2種類の付与で、プリンシパル cartographer が対象です。各リレーションについては imd://cartographer/edge/rel/<relation> への ratify、上限については imd://cartographer/edge/max/<n> への ratify です。
edge と dismiss には 権限が必要です。 と には が必要です。
ワークスペースのAPIキーをBearerトークンとして認証します。ベースURLは https://api.intramedial.com です。
/api/v1/acp/cartographer/map承認済みエッジ、保留中の修正、境界を読み取ります。/api/v1/acp/cartographer/edgeオペレーターとして1つのエッジを承認します。bounds.relationsbounds.maxpendingDroppedpropose と infer で、キューの上限に収めるために破棄された古い保留エッジの数。それ以外はすべて bounds_closed、relation_not_bounded、unknown_endpoint、would_merge_active_conflict、cap_exceeded のいずれかでキューに入ります。
edge はオペレーターとしてエッジを承認し、キューから外します。dismiss はエッジを破棄し、マップには何も反映されません。
{
"edges": [
{
"from": "svc:billing",
"to": "svc:ledger",
"rel": "calls"
}
],
"pending": [
{
"from": "svc:billing",
"to": "svc:reports",
"rel": "feeds",
"hold": "relation_not_bounded",
"at": "2026-11-01T08:41:09.200Z"
}
],
"bounds": {
"relations": [
"calls"
],
"max": 3
}
}提案されたエッジが間違っています。dismiss はキューから外し、マップは元のままです。
worldmodel.graph にあります。mandates.compile を通じてコンパイル、承認されます。地図作成者は読み取るだけです。coordination.admit を通る付与から得られます。policies.approveproposeinferpolicies.proposeinfer は、キューまたはワークフローが紐付いていればそれを通して、ホットパスの外で分類モデルを実行します。承認判定がこれを待つことはなく、その答えは提案にすぎません。
pendingDropped に計上されます。bounds.max 件です。マンデートがリレーションを列挙し上限を設定していない場合は8件です。infer は queued を返します。リクエスト内で実行するには forceInline: true を渡します。/api/v1/acp/cartographer/propose/api/v1/acp/cartographer/dismiss保留中のエッジを書き込まずに破棄します。/api/v1/acp/cartographer/inferパス外のモデルに候補エッジを問い合わせます。coordination.cartographer.mapMCPアクションとして地図作成者のマップを読み取ります。coordination.cartographer.edgeMCPアクションとして1つのエッジを承認します。coordination.cartographer.inferMCPアクションとしてモデルに候補エッジを問い合わせます。coordination.lease02coordination.fleetmap11Fleet Mapプレーンが承認判定した内容から導出された、ワークスペース内のすべてのエージェントのグラント、リース、待機者、隔離を、1 回の呼び出しで読み取ります。identity.enroll12Agent identity registry各エージェントが行動する前に固有の ID を与え、承認判定されたすべてのアクションが共有アカウントではなく 1 つのエージェントにさかのぼれるようにします。mcp.shadow13Shadow agent discoveryMCP ゲートウェイが確認したツール呼び出しを、それぞれの背後のエージェントとともに一覧します。誰も登録していない呼び出し元も、登録済みのものと並んで表示されます。civics.presence14Agent presenceオンラインのピアと各ピアが保持しているものをエージェントが確認できるようにし、静かなエージェントが敵対的と誤解されないようにします。trust.get15Trust scores and autonomyエージェントの信頼スコアと獲得した自律ティアを読み取り、プレーンが実際に見た行動に応じて自律性を決められます。tenancy.tree18Tenant tree and reachリセラーとその顧客をツリーでモデル化し、誰がどのブランチに到達できるかを、保存せずに委任から算出します。