detection.runモジュール 07Conflict detection
エージェント間の競合を、誰も答えられないアラートではなく、証拠付きの起票済みケースに変えます。
detection.run は、プレーンのライブ状態または送信したイベントに対して、指定した検知器を1つ実行します。10個の検知器は純粋関数、4個は決定論的に推論し、1個はモデルによるスクリーニングです。ヒットは証拠を引用した競合となり、はしごの段階0で起票されます。
detection.runモジュール 07エージェント間の競合を、誰も答えられないアラートではなく、証拠付きの起票済みケースに変えます。
detection.run は、プレーンのライブ状態または送信したイベントに対して、指定した検知器を1つ実行します。10個の検知器は純粋関数、4個は決定論的に推論し、1個はモデルによるスクリーニングです。ヒットは証拠を引用した競合となり、はしごの段階0で起票されます。
idlease-overlap、oscillation、effect-divergence など。eventsid、kind、at、、 と任意の を持ちます。 または のないイベントは破棄されます。10個の純粋検知器がリクエスト内で回答します。lease-overlap、deadlock、stampede のライブ側は、現在のリースと待機者を読みます。それ以外は送信した events を読み、しきい値は tuning で上書きできます。
実行(または⌘/Ctrl + Enter)で左のリクエストに署名します。
初回の実行時に、このブラウザで無料のテストキーを作成します。7日間で約35回、アカウントは不要です。レシートはここに返され、当社を信頼することなく、公開済みの鍵で検証されます。
APIが受け付ける形のリクエストと、モジュールが返す形のレスポンス例です。
POST /api/v1/acp/detection/run Authorization: Bearer av_workspace_•••• Content-Type: application/json { : , : }
移行の結果、repo:payments/main に期限切れでないリースが2つ残りました。lease-overlap は両方の保持者を挙げ、両方のリースIDを引用してケースを開きます。
2つのエージェントが互いの設定を戻し続けています。oscillation は書き手が交互に入れ替わるときだけ発火し、内容を元に戻した書き込みを引用します。
effect-divergence は、エージェントが宣言した内容を台帳の記録と比べ、未宣言の効果と過大申告を区別します。
モジュールは、狭い範囲について強く保証します。保証されることだけを頼ってください。
suppressed として報告されます。collusion はチューニングにかかわらず flag のみを報告します。 にはなりません。lease-overlap、deadlock、stampede、camouflage、evasion、self-replication は block を報告します。oscillation、starvation、 は です。 は、未宣言の効果なら 、過大申告なら です。
ワークスペースのAPIキーをBearerトークンとして認証します。ベースURLは https://api.intramedial.com です。
/api/v1/acp/detection/run検知器を1つ実行し、見つかったものを起票します。/api/v1/acp/detection/catalog検知器と、その最後の保存済み実行を一覧します。actorDidresourcebodyidkindtuningoscillationFlips、stampedeWaiters、windowMs、evasionIdentities、fanOut、starvationMs、collusionMatches。起票にはテナント自身の値を使います。hitsdetector:resource:parties の形式です。conflictsevidence は台帳イベントまたはリースのID、severity は flag か block です。filedconflictId と caseId で示されます。suppressedconflictId と caseId で示されます。filedOnsent 件のイベントと、そのうち台帳が保持する件数(held)。起票されるのは保持済みのイベントだけです。fileErrorforceInlinesemantic-intent 用:キューに入れずに、リクエスト内でモデルを実行します。mandate-contradiction、goal-forecast、epistemic-risk、case-file は、リクエスト内で答えを計算します。キューもワークフローもモデルも関与しません。ケースを起票するのは mandate-contradiction だけです。semantic-intent は text をモデルに送ります。forceInline を指定しない限り、紐付けられたワークフローまたはキューが先に受け取ります。ラベルは hypotheses として返り、起票はされません。
POST /api/v1/acp/detection/run に id を送ります。不明なIDは404で拒否され、GET /api/v1/acp/detection/catalog は全IDと直近の保存済み実行を一覧します。
ライブ検知器は、その時点のプレーンのリースと待機者を読みます。ストリーム検知器は送信された events を読み、各イベントには id、kind、アクター、リソースが付きます。
各ヒットは、detector、resource、parties、why、evidence、severity を持つ競合オブジェクトです。イベントまたはリースのIDを1つも引用できない検知器は、ヒットを作りません。
重大度にかかわらず、すべてのヒットが段階0でケースを開きます。同じ検知器・リソース・当事者のケースが開いている間、以降のヒットは suppressed として返ります。
調停や台帳に到達できなくても、ヒットは計算・保存・返却されます。起票されなかった理由は fileError に入ります。
{
"detector": {
"id": "lease-overlap",
"path": "near",
"llm": false
},
"hits": [
"lease-overlap:repo:payments/main:did:web:acme.example:agent:deps,did:web:acme.example:agent:release"
],
"conflicts": [
{
"detector": "lease-overlap",
"resource": "repo:payments/main",
"parties": [
"did:web:acme.example:agent:deps",
"did:web:acme.example:agent:release"
],
"why": "2 unexpired exclusive leases are held on repo:payments/main at once – by did:web:acme.example:agent:deps, did:web:acme.example:agent:release",
"evidence": [
"lease_41",
"lease_42"
],
"severity": "block"
}
],
"llm": false,
"filed": [
{
"conflictId": "lease-overlap:repo:payments/main:did:web:acme.example:agent:deps,did:web:acme.example:agent:release",
"caseId": "case_9f2"
}
],
"suppressed": [],
"filedOn": {
"sent": 0,
"held": 0
}
}mandate-contradiction は有効なマンデートを読みます。両方の主体が同じリソースで動いて初めて、組が検出結果になります。
coordination.admit で行います。arbitration.arbiter と courts.file が行います。events とプレーンのライブのリース・待機者だけです。blocksemantic-intent のラベルが真であること。台帳の引用がない、モデルの未確認の hypotheses 項目です。collusionflageffect-divergenceblockflag既定値:反転2回、スタンピード待機者8、ウィンドウ60,000 ms、回避ID3、ファンアウト5、飢餓300,000 ms、共謀一致3回。ワークスペースの stampedeMaxWaiters がスタンピードの既定値を置き換えます。
1つのエージェントが自分の下書きを何度も書き換えても振動ではなく、1つの呼び出し元からの50回の再試行もスタンピードではありません。何も宣言していないエージェントには、食い違う相手がありません。検知器はそれぞれを除外します。
新規に起票された effect-divergence のヒットは、対象エージェントの信頼シグナルも記録します。block なら effect.undeclared、flag なら effect.overclaim です。
case-file を除くすべての実行が、ワークスペースごとに保存されます。カタログのルートは、検知器を lastRuns 付きで返します。
semantic-intent の実行は先にキューに入ります。レスポンスには queued と workflowId が付きます。id、ヒット、タイムスタンプが残ります。パックのバージョンは含まれません。tuning は使いません。coordination.detection.runMCPアクションとして検知器を1つ実行します。coordination.detection.catalogMCPアクションとして検知器を一覧します。conflict-audit.latest33drills.counterfactual34Counterfactual simulationポリシーを変更する前に、その影響を確認します。選んだリクエストを、付与を外すか追加して再実行し、回答がどう変わるかを見ます。drills.frt35Turf-war drillsカーネルの中核となる保証が今も成り立つかを、必要なときや設定した間隔で確認し、全実行のスコアカードを残します。watchdog.check36Issuance watchdogプレーンに尋ねるのではなく台帳を読むことで、リースや認証情報の発行が速すぎる、または静まり返ったプレーンを捉えます。conformity.sweep37SI/AI disclosure conformity当局より先に、開示ラベルなしで人に話しかけてしまうエージェントを見つけ、フリートの変更を実施前に試します。