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

Viewing files at commit 310519e1fe0fCommit detailsView latest

schemas/v0.1/interaction_completion_report.schema.json 261 lines · 6.0 KB · json
1
{
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
  "type": "object",
4
  "properties": {
5
    "reportId": {
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
    "contractHash": {
16
      "type": "string",
17
      "minLength": 1
18
    },
19
    "reportingAgentId": {
20
      "type": "string",
21
      "minLength": 1
22
    },
23
    "counterpartyAgentId": {
24
      "type": "string",
25
      "minLength": 1
26
    },
27
    "agentVersion": {
28
      "type": "string",
29
      "minLength": 1
30
    },
31
    "outcome": {
32
      "type": "string",
33
      "enum": [
34
        "success",
35
        "partial",
36
        "failure",
37
        "cancelled"
38
      ]
39
    },
40
    "summary": {
41
      "type": "string",
42
      "minLength": 1,
43
      "maxLength": 2000
44
    },
45
    "requestedOutcome": {
46
      "type": "string",
47
      "minLength": 1,
48
      "maxLength": 1000
49
    },
50
    "criteria": {
51
      "maxItems": 100,
52
      "type": "array",
53
      "items": {
54
        "type": "object",
55
        "properties": {
56
          "criterion": {
57
            "type": "string",
58
            "minLength": 1,
59
            "maxLength": 1000
60
          },
61
          "status": {
62
            "type": "string",
63
            "enum": [
64
              "met",
65
              "partially_met",
66
              "missed",
67
              "unknown"
68
            ]
69
          },
70
          "explanation": {
71
            "type": "string",
72
            "maxLength": 1000
73
          },
74
          "evidenceReferences": {
75
            "default": [],
76
            "maxItems": 50,
77
            "type": "array",
78
            "items": {
79
              "type": "string",
80
              "minLength": 1,
81
              "maxLength": 2048
82
            }
83
          }
84
        },
85
        "required": [
86
          "criterion",
87
          "status",
88
          "evidenceReferences"
89
        ],
90
        "additionalProperties": false
91
      }
92
    },
93
    "deliverables": {
94
      "default": [],
95
      "maxItems": 100,
96
      "type": "array",
97
      "items": {
98
        "type": "string",
99
        "minLength": 1,
100
        "maxLength": 1000
101
      }
102
    },
103
    "actionsTaken": {
104
      "default": [],
105
      "maxItems": 100,
106
      "type": "array",
107
      "items": {
108
        "type": "string",
109
        "minLength": 1,
110
        "maxLength": 1000
111
      }
112
    },
113
    "blockers": {
114
      "default": [],
115
      "maxItems": 100,
116
      "type": "array",
117
      "items": {
118
        "type": "string",
119
        "minLength": 1,
120
        "maxLength": 1000
121
      }
122
    },
123
    "scopeChanges": {
124
      "default": [],
125
      "maxItems": 100,
126
      "type": "array",
127
      "items": {
128
        "type": "string",
129
        "minLength": 1,
130
        "maxLength": 1000
131
      }
132
    },
133
    "corrections": {
134
      "default": [],
135
      "maxItems": 100,
136
      "type": "array",
137
      "items": {
138
        "type": "string",
139
        "minLength": 1,
140
        "maxLength": 1000
141
      }
142
    },
143
    "evidenceReferences": {
144
      "default": [],
145
      "maxItems": 100,
146
      "type": "array",
147
      "items": {
148
        "type": "string",
149
        "minLength": 1,
150
        "maxLength": 2048
151
      }
152
    },
153
    "startedAt": {
154
      "type": "string",
155
      "format": "date-time",
156
      "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))$"
157
    },
158
    "completedAt": {
159
      "type": "string",
160
      "format": "date-time",
161
      "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))$"
162
    },
163
    "confidence": {
164
      "type": "number",
165
      "minimum": 0,
166
      "maximum": 1
167
    },
168
    "dataSharingMode": {
169
      "default": "structured_only",
170
      "type": "string",
171
      "enum": [
172
        "local_only",
173
        "structured_only",
174
        "permitted_evidence"
175
      ]
176
    },
177
    "signature": {
178
      "type": "object",
179
      "properties": {
180
        "algorithm": {
181
          "type": "string",
182
          "const": "Ed25519"
183
        },
184
        "keyId": {
185
          "type": "string",
186
          "minLength": 1
187
        },
188
        "value": {
189
          "type": "string",
190
          "minLength": 1
191
        }
192
      },
193
      "required": [
194
        "algorithm",
195
        "keyId",
196
        "value"
197
      ],
198
      "additionalProperties": false
199
    },
200
    "submissionMethod": {
201
      "type": "string",
202
      "enum": [
203
        "agent_signature",
204
        "oauth_account",
205
        "oauth_installation",
206
        "agent_access_token",
207
        "runtime_session"
208
      ]
209
    },
210
    "platformAttestation": {
211
      "type": "object",
212
      "properties": {
213
        "algorithm": {
214
          "type": "string",
215
          "const": "Ed25519"
216
        },
217
        "keyId": {
218
          "type": "string",
219
          "minLength": 1
220
        },
221
        "value": {
222
          "type": "string",
223
          "minLength": 1
224
        },
225
        "digest": {
226
          "type": "string",
227
          "pattern": "^[a-zA-Z0-9_-]{43}$"
228
        }
229
      },
230
      "required": [
231
        "algorithm",
232
        "keyId",
233
        "value",
234
        "digest"
235
      ],
236
      "additionalProperties": false
237
    }
238
  },
239
  "required": [
240
    "reportId",
241
    "interactionId",
242
    "contractHash",
243
    "reportingAgentId",
244
    "counterpartyAgentId",
245
    "agentVersion",
246
    "outcome",
247
    "summary",
248
    "requestedOutcome",
249
    "criteria",
250
    "deliverables",
251
    "actionsTaken",
252
    "blockers",
253
    "scopeChanges",
254
    "corrections",
255
    "evidenceReferences",
256
    "completedAt",
257
    "confidence",
258
    "dataSharingMode"
259
  ],
260
  "additionalProperties": false
261
}