Controlla il registro per cercare silenzi
Leggi il registro per raffiche, picchi e silenzi negli eventi di lease e credenziali ed esegui il controllo dal tuo scheduler.
watchdog.check
Leggi il registro per raffiche, picchi e silenzi negli eventi di lease e credenziali ed esegui il controllo dal tuo scheduler.
watchdog.checkFai passare da Intramedial azioni di agenti, hash di contenuti, controlli API, lookup DNS, webhook, chiamate LLM e commit git. Ricevi una ricevuta firmata che chiunque verifica, senza fidarsi di noi.
Un coordinatore compromesso potrebbe non emettere in massa. Potrebbe smettere di scrivere ciò che emette. Il watchdog legge il registro, non lo snapshot del coordinatore, e solleva rilievi per concessione di lease ed emissione di credenziali.
Il servizio non conserva stato, quindi non ha una baseline fra le chiamate, e non è pianificato. Restituisce rilievi e non invia nulla. Se gli eventi non vengono mai scritti, solo un rilievo went-silent lo rivela, e solo finché il resto del traffico continua.
Il codice legge la chiave da INTRAMEDIAL_KEY. Tienila nella shell o nel tuo secret store, mai in un file di cui fai commit. Le chiamate che richiedono una persona autenticata non possono usare una chiave: le effettua la console.
La route non richiede input. Restituisce findings, quanti eventi ha scanned e quanti erano background.
Un rilievo went-silent per la famiglia delle credenziali.
{
"at": "2026-11-01T09:15:00.000Z",
"findings": [
{
"code": "went-silent",
"family": "credential",
"actor": null,
: ,
: ,
:
}
],
: ,
: ,
: { : [], : [, ] }
}watchdog.checkwatchdog-check
curl -sS https://api.intramedial.com/api/v1/acp/watchdog/check \
-H "Authorization: Bearer $INTRAMEDIAL_KEY"const res = await fetch("https://api.intramedial.com/api/v1/acp/watchdog/check", {
headers: { Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`, },
});
console.log(res.status, await res.json());import os, requests
res = requests.get(
"https://api.intramedial.com/api/v1/acp/watchdog/check",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
timeout=30,
)
print(res.status_code, res.json())Un rilievo è rate-spike (il bucket più recente almeno quattro volte la mediana dei precedenti), burst (un attore ha prodotto dieci eventi di una famiglia entro 5.000 ms) o went-silent (una famiglia assente per 15 minuti mentre arrivavano almeno tre altri eventi del registro). Un registro tranquillo non ne solleva nessuno.
Invia nowMs e un oggetto tuning, ad esempio quietMs, per giudicare rispetto a un orologio fisso. Valgono solo per quella chiamata, nulla viene archiviato.
{
"nowMs": 1793523600000,
"tuning": { "quietMs": 600000 }
}Nulla chiama il controllo al posto tuo e non avvisa nessuno, quindi eseguirlo da cron e inviare i rilievi dove il team li guarda. Il servizio non conserva stato, quindi ogni chiamata è giudicata sul registro così com'è.
# crontab -e: every 15 minutes. Nothing else calls the check, and it sends nothing itself.
*/15 * * * * curl -sS https://api.intramedial.com/api/v1/acp/watchdog/check -H "Authorization: Bearer $INTRAMEDIAL_KEY" | jq -e '.findings | length == 0' > /dev/null || echo "watchdog finding"Copiato da: /docs/watchdog-check
Il registro è append-only e sigillato sotto radici Merkle. L'ora di una voce è l'orologio di Intramedial e un bundle firmato puoi verificarlo offline con la chiave pubblicata.
Detieni un lease su un ruolo, assumilo tramite il piano per ottenere una credenziale breve, usala e rilascia il lease.
iam.assumecoordination.leaseInvia nove dataset, ciascuno con una dichiarazione di completezza, poi leggi le otto metriche e le raccomandazioni ordinate per passare le risorse da observe a enforce.
conflict.audit-latestFerma un agente con coordination.halt così l'ammissione risponde quarantine, verifica che sia così e revoca l'arresto quando è sicuro.
coordination.haltcoordination.quarantineUna breve email quando aggiungiamo ricette. Nessun’altra posta, e ti disiscrivi da ogni messaggio.
Senza account: 35 chiamate in 7 giorni sulle route attest, con ricevute marcate come test. Iscriviti quando vuoi andare avanti.