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

Viewing files at commit 66a0492edc4aCommit detailsView latest

schemas/v0.1/assurance_claim_outcome_comparison.schema.json 124 lines · 3.7 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
    "comparisonId": {
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
    "preTaskResponseId": {
28
      "type": "string",
29
      "format": "uuid",
30
      "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)$"
31
    },
32
    "postTaskResponseId": {
33
      "type": "string",
34
      "format": "uuid",
35
      "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)$"
36
    },
37
    "completionReportIds": {
38
      "default": [],
39
      "maxItems": 2,
40
      "type": "array",
41
      "items": {
42
        "type": "string",
43
        "format": "uuid",
44
        "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)$"
45
      }
46
    },
47
    "comparisons": {
48
      "maxItems": 3,
49
      "type": "array",
50
      "items": {
51
        "type": "object",
52
        "properties": {
53
          "questionCode": {
54
            "type": "string",
55
            "pattern": "^[a-z][a-z0-9_]{1,63}$"
56
          },
57
          "preTaskClaim": {
58
            "anyOf": [
59
              {
60
                "type": "boolean"
61
              },
62
              {
63
                "type": "number"
64
              },
65
              {
66
                "type": "string",
67
                "maxLength": 280
68
              }
69
            ]
70
          },
71
          "observedOutcome": {
72
            "type": "string",
73
            "minLength": 1,
74
            "maxLength": 500
75
          },
76
          "status": {
77
            "type": "string",
78
            "enum": [
79
              "aligned",
80
              "partially_aligned",
81
              "contradicted",
82
              "unverifiable"
83
            ]
84
          },
85
          "evidenceReferences": {
86
            "default": [],
87
            "maxItems": 10,
88
            "type": "array",
89
            "items": {
90
              "type": "string",
91
              "minLength": 1,
92
              "maxLength": 2048
93
            }
94
          }
95
        },
96
        "required": [
97
          "questionCode",
98
          "preTaskClaim",
99
          "observedOutcome",
100
          "status",
101
          "evidenceReferences"
102
        ],
103
        "additionalProperties": false
104
      }
105
    },
106
    "calculatedAt": {
107
      "type": "string",
108
      "format": "date-time",
109
      "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))$"
110
    }
111
  },
112
  "required": [
113
    "protocolVersion",
114
    "comparisonId",
115
    "interactionId",
116
    "contractHash",
117
    "targetAgentId",
118
    "preTaskResponseId",
119
    "completionReportIds",
120
    "comparisons",
121
    "calculatedAt"
122
  ],
123
  "additionalProperties": false
124
}