Audit bundle
@kindgi/specs/audit-bundle.schema.json, schema version 2.0.0.
The signed body of an approval's audit bundle: what a signed-export.schema.json envelope of kind audit-bundle carries in bundle (decoded). Who decided a human review, when, why, and the evidence, signed by the deployment. 2.0.0: this describes the bundle the API exports (one approval, a detached signature over these bytes); 1.0.0 described a multi-approval format with an inline signature that the runtime never produced.
bundleSchemaVersion("2.0.0", required)approvalId(string, required)tenantId(string, required)subjectKind(string, required): What the review was of:tool-call:pending, a session gate, a deployment…subjectRef(object, required): The reviewed thing's own reference, by subject kind.requiredRole("standard"|"senior"|"admin", required)status("approved"|"rejected"|"escalated"|"expired"|"withdrawn", required): Only a decided approval is exported.createdAt(string (date-time), required)decidedAt(string (date-time))decision(one of the objects below, required): The recorded decision;nullwhen the approval ended without one (expired).- null
- an object
kind(string, required):approve,reject,escalateorwithdraw.reviewerId(string, required)reviewerRoleAtDecision("standard"|"senior"|"admin", required)decidedAt(string (date-time), required)rationale(string)
evidence(object, required)guardrailResults(array of any): The guardrail results that raised the review, when it came from one.messages(array of any): The conversation messages of the approval's run, when asked for (includeMessages).
exportedAt(string (date-time), required)