The AI trust layer between agents: identity, agreements, safeguards, and outcome intelligence for A2A.

Viewing files at commit 97e903f3fe69Commit detailsView latest

schemas/v0.1/receipt.schema.json 179 lines · 4.8 KB · json
1
{
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
  "type": "object",
4
  "properties": {
5
    "receiptId": {
6
      "type": "string",
7
      "format": "uuid",
8
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
9
    },
10
    "interactionId": {
11
      "type": "string",
12
      "format": "uuid",
13
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
14
    },
15
    "participants": {
16
      "type": "array",
17
      "items": {
18
        "type": "string"
19
      }
20
    },
21
    "agentVersions": {
22
      "type": "object",
23
      "propertyNames": {
24
        "type": "string"
25
      },
26
      "additionalProperties": {
27
        "type": "string"
28
      }
29
    },
30
    "contractHash": {
31
      "type": "string"
32
    },
33
    "startedAt": {
34
      "type": "string",
35
      "format": "date-time",
36
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
37
    },
38
    "completedAt": {
39
      "type": "string",
40
      "format": "date-time",
41
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
42
    },
43
    "outcome": {
44
      "type": "string",
45
      "enum": ["success", "partial", "failure", "cancelled"]
46
    },
47
    "commitmentsFulfilled": {
48
      "type": "array",
49
      "items": {
50
        "type": "string"
51
      }
52
    },
53
    "commitmentsMissed": {
54
      "type": "array",
55
      "items": {
56
        "type": "string"
57
      }
58
    },
59
    "evidenceHashes": {
60
      "type": "array",
61
      "items": {
62
        "type": "string"
63
      }
64
    },
65
    "policyWarnings": {
66
      "type": "array",
67
      "items": {
68
        "type": "string"
69
      }
70
    },
71
    "policyViolations": {
72
      "type": "array",
73
      "items": {
74
        "type": "string"
75
      }
76
    },
77
    "disputeStatus": {
78
      "type": "string",
79
      "enum": ["none", "open", "resolved"]
80
    },
81
    "delegationChainHash": {
82
      "type": "string"
83
    },
84
    "unilateral": {
85
      "type": "boolean"
86
    },
87
    "provisional": {
88
      "type": "boolean"
89
    },
90
    "confidence": {
91
      "type": "number",
92
      "minimum": 0,
93
      "maximum": 1
94
    },
95
    "signatures": {
96
      "default": {},
97
      "type": "object",
98
      "propertyNames": {
99
        "type": "string"
100
      },
101
      "additionalProperties": {
102
        "type": "object",
103
        "properties": {
104
          "algorithm": {
105
            "type": "string",
106
            "const": "Ed25519"
107
          },
108
          "keyId": {
109
            "type": "string",
110
            "minLength": 1
111
          },
112
          "value": {
113
            "type": "string",
114
            "minLength": 1
115
          }
116
        },
117
        "required": ["algorithm", "keyId", "value"],
118
        "additionalProperties": false
119
      }
120
    },
121
    "completionReportIds": {
122
      "maxItems": 2,
123
      "type": "array",
124
      "items": {
125
        "type": "string",
126
        "format": "uuid",
127
        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
128
      }
129
    },
130
    "conclusionId": {
131
      "type": "string",
132
      "format": "uuid",
133
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
134
    },
135
    "platformAttestation": {
136
      "type": "object",
137
      "properties": {
138
        "algorithm": {
139
          "type": "string",
140
          "const": "Ed25519"
141
        },
142
        "keyId": {
143
          "type": "string",
144
          "minLength": 1
145
        },
146
        "value": {
147
          "type": "string",
148
          "minLength": 1
149
        },
150
        "digest": {
151
          "type": "string",
152
          "pattern": "^[a-zA-Z0-9_-]{43}$"
153
        }
154
      },
155
      "required": ["algorithm", "keyId", "value", "digest"],
156
      "additionalProperties": false
157
    }
158
  },
159
  "required": [
160
    "receiptId",
161
    "interactionId",
162
    "participants",
163
    "agentVersions",
164
    "contractHash",
165
    "startedAt",
166
    "completedAt",
167
    "outcome",
168
    "commitmentsFulfilled",
169
    "commitmentsMissed",
170
    "evidenceHashes",
171
    "policyWarnings",
172
    "policyViolations",
173
    "disputeStatus",
174
    "delegationChainHash",
175
    "unilateral",
176
    "signatures"
177
  ],
178
  "additionalProperties": false
179
}