Ein Conflict Audit erzeugen
Senden Sie neun Datensätze mit je einer Vollständigkeitserklärung und lesen Sie dann die acht Metriken und die gerankten Empfehlungen, Ressourcen von observe auf enforce zu stellen.
conflict.audit-latest
Senden Sie neun Datensätze mit je einer Vollständigkeitserklärung und lesen Sie dann die acht Metriken und die gerankten Empfehlungen, Ressourcen von observe auf enforce zu stellen.
conflict.audit-latestLeiten Sie Agent-Aktionen, Inhalts-Hashes, API-Checks, DNS-Abfragen, Webhooks, LLM-Aufrufe und Git-Commits über Intramedial – für einen signierten Beleg, den jeder prüft, ohne uns zu vertrauen.
Sie wollen wissen, wo Agenten kollidieren und welche Ressourcen von observe auf enforce wechseln sollten. Die Engine leitet acht Metriken aus den von Ihnen gelieferten Datensätzen ab, und eine Metrik gilt als unvollständig, wenn ihre Datensätze nicht vollständig sind.
policies.propose der kleinste, der geht; ein breiterer Tools-Scope geht auchidempotencyKey von höchstens 128 Zeichen, der für jede Eingabe neu istpolicies.propose, um einen Bericht zu erzeugenDer Code liest den Schlüssel aus INTRAMEDIAL_KEY. Halten Sie ihn in Ihrer Shell oder Ihrem Secret Store, nie in einer Datei, die Sie committen. Aufrufe, die eine angemeldete Person brauchen, können keinen Schlüssel verwenden: Die Konsole führt sie aus.
Senden Sie das Fenster, einen idempotencyKey, einen completeness-Eintrag für jeden der neun Datensätze und die Datensätze als explizite Arrays, auch wenn sie leer sind. Derselbe Schlüssel mit anderer Eingabe wird mit 409 abgelehnt.
conflict.audit-latestconflict-audit-latest
curl -sS -X POST https://api.intramedial.com/api/v1/acp/conflict-audit/generate \
-H "Authorization: Bearer $INTRAMEDIAL_KEY" \
-H "Content-Type: application/json" \
-d '{
"windowStart": "2026-10-02T09:00:00.000Z",
"windowEnd": "2026-11-01T09:00:00.000Z",
"idempotencyKey": "audit-2026-11-01",
"completeness": {
"registeredAgents": "complete",
"shadowIdentities": "unknown",
"shadowActions": "unknown",
"admissions": "incomplete",
"leases": "complete",
"waiters": "incomplete",
"ledgerEvents": "complete",
"detectorFindings": "complete",
"frtFindings": "unknown"
},
"registeredAgents": [],
"shadowIdentities": [],
"shadowActions": [],
"admissions": [],
"leases": [],
"waiters": [],
"ledgerEvents": [],
"detectorFindings": [],
"frtFindings": []
}'const res = await fetch("https://api.intramedial.com/api/v1/acp/conflict-audit/generate", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
windowStart: "2026-10-02T09:00:00.000Z",
windowEnd: "2026-11-01T09:00:00.000Z",
idempotencyKey: "audit-2026-11-01",
completeness: {
registeredAgents: "complete",
shadowIdentities: "unknown",
shadowActions: "unknown",
admissions: "incomplete",
leases: "complete",
waiters: "incomplete",
ledgerEvents: "complete",
detectorFindings: "complete",
frtFindings: "unknown",
},
registeredAgents: [],
shadowIdentities: [],
shadowActions: [],
admissions: [],
leases: [],
waiters: [],
ledgerEvents: [],
detectorFindings: [],
frtFindings: [],
}),
});
console.log(res.status, await res.json());import os, requests
res = requests.post(
"https://api.intramedial.com/api/v1/acp/conflict-audit/generate",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
json={
"windowStart": "2026-10-02T09:00:00.000Z",
"windowEnd": "2026-11-01T09:00:00.000Z",
"idempotencyKey": "audit-2026-11-01",
"completeness": {
"registeredAgents": "complete",
"shadowIdentities": "unknown",
"shadowActions": "unknown",
"admissions": "incomplete",
"leases": "complete",
"waiters": "incomplete",
"ledgerEvents": "complete",
"detectorFindings": "complete",
"frtFindings": "unknown",
},
"registeredAgents": [],
"shadowIdentities": [],
"shadowActions": [],
"admissions": [],
"leases": [],
"waiters": [],
"ledgerEvents": [],
"detectorFindings": [],
"frtFindings": [],
},
timeout=30,
)
print(res.status_code, res.json())Die Latest-Route liefert den neuesten Bericht oder 404, solange keiner existiert. Die id des Berichts stammt aus seinem Digest, sodass gleiche Eingaben denselben Bericht ergeben. Eine Metrik gilt als incomplete, sofern nicht jeder von ihr genutzte Datensatz als complete erklärt ist.
curl -sS https://api.intramedial.com/api/v1/acp/conflict-audit/latest \
-H "Authorization: Bearer $INTRAMEDIAL_KEY"const res = await fetch("https://api.intramedial.com/api/v1/acp/conflict-audit/latest", {
headers: { Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`, },
});
const body = await res.json();
const { report } = body;
for (const rec of report.recommendations) {
const { from, to, gated, gateReason } = rec.proposedAction;
console.log(rec.resourceUrns.join(", "), from, "to", to, gated ? "gated: " + gateReason : "open");
}
console.log(report.limitations);import os, requests
res = requests.get(
"https://api.intramedial.com/api/v1/acp/conflict-audit/latest",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
timeout=30,
)
body = res.json()
report = body["report"]
for rec in report["recommendations"]:
p = rec["proposedAction"]
print(", ".join(rec["resourceUrns"]), p["from"], "to", p["to"], "gated: " + p["gateReason"] if p["gated"] else "open")
print(report["limitations"])Jede Empfehlung schlägt für Ressourcen einen Wechsel von observe auf enforce vor. Eine unter 0,65 Konfidenz ist gated und kann nicht übernommen werden; gateReason nennt den Grund, und limitations listet, was fehlt.
Die Übernahme ist ein eigener Ablauf. Eine Bestätigung braucht eine Begründung und die Wendung ADOPT <workspaceId>, und ein Apply braucht das einmal verwendbare Token, das sie liefert, und einen Adopter-Dienst.
Kopiert aus: /docs/conflict-audit-latest
Das Ledger ist Append-only und unter Merkle-Roots versiegelt. Die Zeit eines Eintrags ist Intramedials eigene Uhr, und ein signiertes Bundle lässt sich offline mit dem veröffentlichten Schlüssel prüfen.
Listen Sie die Detektoren auf, führen Sie lease-overlap aus, lesen Sie die zitierten Konflikte mit ihrem Nachweis und dann die zur Prüfung eingereichten Fälle.
detection.runEntfernen oder ergänzen Sie einen Grant in einer Kopie der Richtlinie, prüfen Sie sie mit Probes und lesen Sie jedes Urteil vor und nach der Änderung.
drills.counterfactualLesen Sie das Ledger auf Häufungen, Spitzen und Stille bei Lease- und Credential-Ereignissen und führen Sie die Prüfung aus Ihrem eigenen Scheduler aus.
watchdog.checkEine kurze E-Mail, wenn wir neue Rezepte ergänzen. Sonst keine Mail, und Sie melden sich aus jeder Nachricht ab.
Kein Konto nötig: 35 Aufrufe in 7 Tagen auf den Attest-Routen, Belege als Testbelege markiert. Registrieren Sie sich, wenn Sie weitermachen wollen.