Riferimento tecnico pubblico · audit event v1

Record completo e sanitizzato dell’esecuzione di un agente IA

Questo riferimento rende facile seguire un thread esistente e sanitizzato di un evento di audit. Collega la richiesta di azione, la decisione di policy, l’evento di approvazione, l’evento di audit, il risultato a valle e il manifest del bundle di evidenze pubblicati, senza aggiungere un secondo ciclo di vita sintetico.

Riferimento al ciclo di vita · record sintetici · evento di audit v1

Execution record quick reference

Definizione
Una traccia di record collegati per un’esecuzione governata.
Quando usarlo
Quando serve l’intero ciclo di vita dell’azione in un unico punto.
Sequenza
Richiesta → policy → approvazione → strumento → risultato → evidenze.
Integrità
Hash del record in stile RFC 8785 più firma Ed25519 separata.

01

Lifecycle map

The existing complete-execution example joins the six stages below through correlation IDs, event IDs, lineage, and the evidence manifest reference.

  1. 1 · RichiestaL’agente richiede credit.application.set_disposition per una domanda sintetica tokenizzata e registra richiedente, identità di servizio, finalità, risorsa, importo e confine.Schema reference
  2. 2 · PolicyIl record di policy restituisce require_approval con versione della policy, digest degli input, regola corrispondente e codice motivo.Schema reference
  3. 3 · ApprovazioneUn sottoscrittore senior approva la richiesta vincolata prima della chiamata allo strumento. Il record di approvazione contiene scadenza, revisore, decisione, riferimento alla motivazione e digest delle evidenze presentate.Schema reference
  4. 4 · Azione dello strumentoLa chiamata idempotente allo strumento riesce e registra i digest degli argomenti e del risultato, oltre ai digest dello stato prima e dopo per l’effetto a valle.
  5. 5 · RisultatoIl record di esecuzione riporta un risultato aziendale sintetico raggiunto e lo stato del rollback.
  6. 6 · EvidenzeL’evento di audit punta a bundle_manifest_synthetic_20260721_01, l’identificativo di esportazione nel riferimento al manifest del bundle di evidenze.Schema reference

02

Complete record preview

The preview selects the fields that connect request, policy, approval, action, outcome, evidence, and integrity. The downloadable JSON remains the complete sanitized record.

{
  "execution_id": "run_01JZ8V4K2D9A6N3P7M5R1C8X0E",
  "request": {
    "action": "credit.application.set_disposition",
    "resource": {
      "type": "credit_application",
      "id": "app_synthetic_74291"
    },
    "requested_at": "2026-07-21T09:14:29.122Z"
  },
  "policy": {
    "decision": "require_approval",
    "policy_version": "4.2.1",
    "reason_codes": [
      "amount_requires_senior_underwriter"
    ]
  },
  "approval": {
    "status": "decided",
    "decision": "approved",
    "decided_at": "2026-07-21T09:14:31.902Z"
  },
  "tool": {
    "status": "succeeded",
    "downstream_effect": "credit_disposition_updated"
  },
  "outcome": {
    "status": "achieved",
    "summary": "The approved disposition was recorded in the synthetic core-banking record.",
    "reference": "outcome_synthetic_91084"
  },
  "evidence": {
    "manifest_ref": "bundle_manifest_synthetic_20260721_01",
    "artifacts": [
      {
        "artifact_id": "artifact_policy_decision_01",
        "artifact_type": "policy-decision",
        "content_digest": "sha256:cd2eb0837c9b4c962c22d2ff8b5441b7b45805887dcc65d14f916888635af041"
      },
      {
        "artifact_id": "artifact_tool_receipt_01",
        "artifact_type": "tool-receipt",
        "content_digest": "sha256:9d6f965ac832e40a5df6c06afe983e3b41e705464b706fef489a51e6d02eb9e9"
      }
    ]
  },
  "verification": {
    "status": "valid",
    "verified_at": "2026-07-21T09:14:33.041Z",
    "verifier": {
      "id": "vendor-neutral-reference-verifier",
      "version": "1.0.0"
    },
    "failure_codes": []
  }
}

Stable example URLs

The existing audit-event downloads remain the source files for this page. The page adds a readable lifecycle entry point.

Download complete-execution.json

Read the audit event field dictionary for the full envelope and record distinctions.

03

Denied action and tamper failure

The same reference set includes a terminal block path and a structurally valid record whose business outcome was changed after signing.

Denied action

The policy decision is block. The execution remains not_started, tool_calls is empty, and the business outcome records that the synthetic payment instruction remained unreleased.

Download denied-action.json

Tamper failure

The example changes the downstream business outcome and retains the signed record hash. Signature verification still authenticates the stale hash; recomputing the canonical payload returns record_hash_mismatch.

Download tamper-failure.json

04

Field dictionary

The lifecycle guide points to fields in the existing audit-event envelope and its component references.

FieldStatusPurpose
schema_versionRequiredSeleziona il contratto dell’evento di audit.
audit_event.event_idRequiredIdentifica l’evento terminale nella traccia.
audit_event.correlation.execution_idRequiredCollega tutti i record del ciclo di vita a un’esecuzione.
audit_event.actorsRequiredRegistra richiedente, utente delegato, identità di servizio, agente e titolare responsabile quando presenti.
audit_event.requested_actionRequiredIndica azione, finalità, risorsa, confine dei dati, importo e ora della richiesta.
audit_event.policyRequiredIndica versione della policy, digest degli input, esito e motivi.
audit_event.approvalConditionalCompare per require_approval e registra la decisione umana prima degli effetti.
audit_event.tool_calls[]RequiredElenca gli effetti degli strumenti richiesti e completati con idempotenza e digest dei risultati.
audit_event.executionRequiredRegistra lo stato dell’esecuzione e il risultato aziendale a valle.
audit_event.lineageRequiredOrdina i riferimenti a richiesta, policy, approvazione, strumento ed evento terminale.
audit_event.evidence.manifest_refRequiredPunta all’identificativo di esportazione del bundle di evidenze.
audit_event.privacyRequiredIndica classificazione, tokenizzazione, redazioni e riferimento alla policy di accesso.
integrity.record_hashRequiredVincola il payload firmato canonico.
integrity.previous_event_hashOptionalCollega il record al suo predecessore quando la catena ne contiene uno.
integrity.signatureRequiredContiene il riferimento alla chiave Ed25519 e il materiale pubblico di verifica.
integrity.verificationRequiredRegistra l’esito documentato della verifica e i codici di errore.

05

Verification procedure

The record verifier and the evidence-bundle verifier protect separate integrity boundaries. Run both when the execution record is exported with a bundle.

  1. 01Analizza lo schema dell’evento di audit e conserva i campi del ciclo di vita nei tipi pubblicati.
  2. 02Costruisci il payload firmato da schema_version, audit_event e dai metadati di integrità che escludono record_hash e signature.value.
  3. 03Canonicalizza il payload con il comportamento di riferimento RFC 8785-JCS pubblicato e calcolane l’hash con SHA-256.
  4. 04Confronta l’hash calcolato con integrity.record_hash e verifica la firma Ed25519 sui byte grezzi del digest con la chiave di esempio pubblicata.
  5. 05Controlla l’ordine del ciclo di vita: la policy segue la richiesta, l’approvazione precede gli effetti per require_approval, le chiamate agli strumenti seguono la policy e il completamento segue l’avvio dell’esecuzione.
  6. 06Collega manifest_ref al riferimento del bundle di evidenze e applica il verificatore del bundle all’esportazione su disco quando serve verificarne l’integrità.

06

Current implementation mapping

The page names the source contracts and verifiers behind each lifecycle statement.

ContractRepository source pathMappingStatus
Richiesta di azioneapps/platform/src/lib/ai-agent-action-request/v1/schema.jsonOggetto di richiesta autonomo collegato da azione, risorsa, confine e campi di correlazione.Riferimento pubblicato
Decisione di policyapps/platform/src/lib/ai-agent-policy-decision/v1/schema.jsonRisposta di policy a quattro esiti con require_approval nella traccia di esempio.Riferimento pubblicato
Evento di approvazioneapps/platform/src/lib/ai-agent-approval-event/v1/schema.jsonDecisione umana vincolata alla richiesta e alla scadenza prima dell’effetto dello strumento.Riferimento pubblicato
Evento di audit ed esempiapps/platform/src/lib/ai-agent-audit-event/v1/complete-execution.json; apps/platform/src/lib/ai-agent-audit-event/v1/denied-action.json; apps/platform/src/lib/ai-agent-audit-event/v1/tamper-failure.jsonI record sanitizzati esistenti forniscono i casi completi, negati e manomessi del ciclo di vita.Esempi correnti
Verificatore del recordapps/platform/src/lib/ai-agent-audit-event/v1/verify.tsCalcola l’hash del record, verifica la firma Ed25519, controlla i collegamenti della catena e l’ordine del ciclo di vita.Verificatore di riferimento
Verificatore del bundlepackages/evidence-verifier/src/verifier.tsVerifica il manifest e i controlli del bundle applicabili dopo che manifest_ref è stato risolto in un’esportazione.Verificatore di produzione

Deliberate abstractions

  • La pagina riutilizza i file esistenti complete-execution.json, denied-action.json e tamper-failure.json e ne conserva identificativi, hash e valori di campo.
  • Il ciclo di vita è una guida di lettura collegata. L’esempio dell’evento di audit è la busta terminale, mentre le pagine degli schemi autonomi definiscono i contratti dei componenti.
  • I record usano riferimenti sintetici tokenizzati e non contengono dati dei clienti né credenziali di produzione.
  • Il blocco di integrità Ed25519 per record e il sigillo ES256 del manifest del bundle di evidenze sono livelli di verifica separati.
  • Le decisioni su autorizzazione, isolamento dei tenant e conservazione restano proprietà dei servizi runtime ed evidenze che ne sono titolari. Questa pagina registra i riferimenti presenti nella traccia sanitizzata.

Source files

The existing sanitized examples and reference verifier remain the implementation sources for this page.

Open the source example

07

Questions readers ask

The answers keep the joined record distinct from population and service-level conclusions.

Perché il risultato della policy è require_approval?

Il record di policy sintetico corrisponde alla regola manual-review-above-20000 e registra amount_requires_senior_underwriter. Il record di approvazione vincola la decisione umana alla richiesta prima dell’avvio della chiamata allo strumento.

Dove si trova l’azione negata?

L’esempio denied-action.json registra una decisione block, zero chiamate agli strumenti, esecuzione not_started, un risultato non raggiunto e il proprio riferimento al manifest delle evidenze.

Che cosa cambia l’esempio di manomissione?

tamper-failure.json cambia il risultato aziendale a valle mantenendo il record_hash originale. Il record resta valido rispetto allo schema, la firma sull’hash obsoleto continua a verificarsi e l’hash ricalcolato fallisce con record_hash_mismatch.

Un record completo dimostra una popolazione completa?

Dimostra i campi e i collegamenti rappresentati da questa traccia sanitizzata. La completezza della popolazione richiede la riconciliazione con la popolazione sorgente autorevole e con l’ambito dell’esportazione.

Come si inserisce OpenTelemetry?

trace_id e span_id collegano la telemetria all’evento di audit. L’evento di audit contiene l’azione governata, la decisione, l’approvazione, l’effetto, il risultato e i riferimenti di integrità che una traccia da sola non può stabilire.

Record completo e sanitizzato dell’esecuzione di un agente IA