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

Viewing files at commit 8135358a54bcCommit detailsView latest

schemas/v0.1/assurance_effectiveness_evaluation.schema.json 218 lines · 6.0 KB · json
1
{
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
  "type": "object",
4
  "properties": {
5
    "protocolVersion": {
6
      "type": "string",
7
      "const": "0.1"
8
    },
9
    "evaluationId": {
10
      "type": "string",
11
      "format": "uuid",
12
      "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)$"
13
    },
14
    "interactionId": {
15
      "type": "string",
16
      "format": "uuid",
17
      "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)$"
18
    },
19
    "contractHash": {
20
      "type": "string",
21
      "minLength": 1
22
    },
23
    "targetAgentId": {
24
      "type": "string",
25
      "minLength": 1
26
    },
27
    "targetAgentVersion": {
28
      "type": "string",
29
      "minLength": 1,
30
      "maxLength": 200
31
    },
32
    "taskCategory": {
33
      "type": "string",
34
      "minLength": 1,
35
      "maxLength": 100
36
    },
37
    "completionReportId": {
38
      "type": "string",
39
      "format": "uuid",
40
      "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)$"
41
    },
42
    "outcomeValue": {
43
      "type": "number",
44
      "minimum": 0,
45
      "maximum": 1
46
    },
47
    "predictionScores": {
48
      "maxItems": 20,
49
      "type": "array",
50
      "items": {
51
        "type": "object",
52
        "properties": {
53
          "predictionId": {
54
            "type": "string",
55
            "format": "uuid",
56
            "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)$"
57
          },
58
          "stage": {
59
            "type": "string",
60
            "enum": [
61
              "baseline",
62
              "after_probe",
63
              "after_safeguard",
64
              "final"
65
            ]
66
          },
67
          "probability": {
68
            "type": "number",
69
            "minimum": 0.05,
70
            "maximum": 0.95
71
          },
72
          "brierScore": {
73
            "type": "number",
74
            "minimum": 0,
75
            "maximum": 1
76
          }
77
        },
78
        "required": [
79
          "predictionId",
80
          "stage",
81
          "probability",
82
          "brierScore"
83
        ],
84
        "additionalProperties": false
85
      }
86
    },
87
    "questionScores": {
88
      "maxItems": 6,
89
      "type": "array",
90
      "items": {
91
        "type": "object",
92
        "properties": {
93
          "probeId": {
94
            "type": "string",
95
            "format": "uuid",
96
            "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)$"
97
          },
98
          "questionCode": {
99
            "type": "string",
100
            "minLength": 1
101
          },
102
          "questionFamily": {
103
            "type": "string",
104
            "enum": [
105
              "capability",
106
              "scope",
107
              "deadline",
108
              "tool_access",
109
              "data_access",
110
              "evidence",
111
              "dependency",
112
              "authority",
113
              "safety",
114
              "delivery"
115
            ]
116
          },
117
          "answered": {
118
            "type": "boolean"
119
          },
120
          "exposedMaterialRisk": {
121
            "type": "boolean"
122
          },
123
          "predictionDelta": {
124
            "type": "number",
125
            "minimum": -0.9,
126
            "maximum": 0.9
127
          }
128
        },
129
        "required": [
130
          "probeId",
131
          "questionCode",
132
          "questionFamily",
133
          "answered",
134
          "exposedMaterialRisk",
135
          "predictionDelta"
136
        ],
137
        "additionalProperties": false
138
      }
139
    },
140
    "safeguardScores": {
141
      "maxItems": 10,
142
      "type": "array",
143
      "items": {
144
        "type": "object",
145
        "properties": {
146
          "safeguardId": {
147
            "type": "string",
148
            "format": "uuid",
149
            "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)$"
150
          },
151
          "type": {
152
            "type": "string",
153
            "enum": [
154
              "require_evidence",
155
              "narrow_scope",
156
              "extend_deadline",
157
              "grant_tool_access",
158
              "require_human_approval",
159
              "limit_delegation",
160
              "add_checkpoint",
161
              "choose_another_agent"
162
            ]
163
          },
164
          "status": {
165
            "type": "string",
166
            "enum": [
167
              "recommended",
168
              "accepted",
169
              "rejected",
170
              "modified"
171
            ]
172
          },
173
          "outcomeAssociation": {
174
            "type": "string",
175
            "enum": [
176
              "positive",
177
              "negative",
178
              "unclear"
179
            ]
180
          },
181
          "causalClaim": {
182
            "type": "boolean",
183
            "const": false
184
          }
185
        },
186
        "required": [
187
          "safeguardId",
188
          "type",
189
          "status",
190
          "outcomeAssociation",
191
          "causalClaim"
192
        ],
193
        "additionalProperties": false
194
      }
195
    },
196
    "evaluatedAt": {
197
      "type": "string",
198
      "format": "date-time",
199
      "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))$"
200
    }
201
  },
202
  "required": [
203
    "protocolVersion",
204
    "evaluationId",
205
    "interactionId",
206
    "contractHash",
207
    "targetAgentId",
208
    "targetAgentVersion",
209
    "taskCategory",
210
    "completionReportId",
211
    "outcomeValue",
212
    "predictionScores",
213
    "questionScores",
214
    "safeguardScores",
215
    "evaluatedAt"
216
  ],
217
  "additionalProperties": false
218
}