overseer-testing-protocol 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +19 -0
  3. data/README.md +75 -0
  4. data/SOURCE.json +6 -0
  5. data/bin/overseer-testing-conformance +53 -0
  6. data/docs/testing-control-implementation-guide.md +116 -0
  7. data/docs/testing-control-protocol.md +432 -0
  8. data/lib/overseer/testing_control/conformance/case_file.rb +120 -0
  9. data/lib/overseer/testing_control/conformance/http_transport.rb +114 -0
  10. data/lib/overseer/testing_control/conformance/report.rb +104 -0
  11. data/lib/overseer/testing_control/conformance/runner.rb +783 -0
  12. data/lib/overseer/testing_control/discovery.rb +79 -0
  13. data/lib/overseer/testing_control/json_subset_matcher.rb +120 -0
  14. data/lib/overseer/testing_control/protocol_v3.rb +298 -0
  15. data/lib/overseer/testing_control/redaction.rb +111 -0
  16. data/lib/overseer/testing_protocol.rb +9 -0
  17. data/protocol/testing-control/v3/conformance-case.schema.json +151 -0
  18. data/protocol/testing-control/v3/conformance-report.schema.json +255 -0
  19. data/protocol/testing-control/v3/fixtures/capabilities-response.json +147 -0
  20. data/protocol/testing-control/v3/fixtures/conformance-case.json +23 -0
  21. data/protocol/testing-control/v3/fixtures/conformance-report.json +88 -0
  22. data/protocol/testing-control/v3/fixtures/error-response.json +20 -0
  23. data/protocol/testing-control/v3/fixtures/manifest.json +13 -0
  24. data/protocol/testing-control/v3/fixtures/probe-request.json +20 -0
  25. data/protocol/testing-control/v3/fixtures/probe-response.json +22 -0
  26. data/protocol/testing-control/v3/fixtures/reset-response.json +15 -0
  27. data/protocol/testing-control/v3/fixtures/sink-query-request.json +26 -0
  28. data/protocol/testing-control/v3/fixtures/sink-query-response.json +39 -0
  29. data/protocol/testing-control/v3/fixtures/state-request.json +20 -0
  30. data/protocol/testing-control/v3/fixtures/state-response.json +23 -0
  31. data/protocol/testing-control/v3/openapi.yaml +343 -0
  32. data/protocol/testing-control/v3/schema.json +772 -0
  33. metadata +85 -0
@@ -0,0 +1,151 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "urn:overseer:testing-control:v3:conformance-case:v1",
4
+ "title": "Testing-control v3 trusted conformance cases",
5
+ "description": "A bounded declarative description of backend-owned arrangement and observation scenarios. This is not a testing-control wire protocol.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": ["schemaVersion", "cases"],
9
+ "properties": {
10
+ "$schema": { "type": "string", "minLength": 1, "maxLength": 4096 },
11
+ "schemaVersion": { "const": "1" },
12
+ "cases": {
13
+ "type": "array",
14
+ "minItems": 1,
15
+ "maxItems": 32,
16
+ "items": { "$ref": "#/$defs/case" }
17
+ }
18
+ },
19
+ "$defs": {
20
+ "identifier": {
21
+ "type": "string",
22
+ "minLength": 1,
23
+ "maxLength": 96,
24
+ "pattern": "^[a-z][a-z0-9-]*(?:\\.[a-z][a-z0-9-]*)*$"
25
+ },
26
+ "capabilityVersion": {
27
+ "type": "string",
28
+ "minLength": 1,
29
+ "maxLength": 32,
30
+ "pattern": "^[1-9][0-9]*$"
31
+ },
32
+ "capability": {
33
+ "type": "object",
34
+ "additionalProperties": false,
35
+ "required": ["id", "version"],
36
+ "properties": {
37
+ "id": { "$ref": "#/$defs/identifier" },
38
+ "version": { "$ref": "#/$defs/capabilityVersion" }
39
+ }
40
+ },
41
+ "expectedOperation": {
42
+ "oneOf": [
43
+ {
44
+ "type": "object",
45
+ "additionalProperties": false,
46
+ "required": ["status"],
47
+ "properties": { "status": { "const": "success" } }
48
+ },
49
+ {
50
+ "type": "object",
51
+ "additionalProperties": false,
52
+ "required": ["status", "errorCode"],
53
+ "properties": {
54
+ "status": { "const": "error" },
55
+ "errorCode": {
56
+ "enum": [
57
+ "invalid-request",
58
+ "capability-not-found",
59
+ "protocol-version-unsupported",
60
+ "reset-requires-restart",
61
+ "payload-too-large",
62
+ "schema-validation-failed",
63
+ "limit-exceeded",
64
+ "runtime-unavailable",
65
+ "internal-error"
66
+ ]
67
+ }
68
+ }
69
+ }
70
+ ]
71
+ },
72
+ "arrangement": {
73
+ "type": "object",
74
+ "additionalProperties": false,
75
+ "required": ["capability", "input", "expected"],
76
+ "properties": {
77
+ "capability": { "$ref": "#/$defs/capability" },
78
+ "input": { "type": "object" },
79
+ "expected": { "$ref": "#/$defs/expectedOperation" }
80
+ }
81
+ },
82
+ "observation": {
83
+ "type": "object",
84
+ "additionalProperties": false,
85
+ "required": ["capability", "input", "expected"],
86
+ "properties": {
87
+ "capability": { "$ref": "#/$defs/capability" },
88
+ "input": { "type": "object" },
89
+ "inputFromArrangementIdentifiers": {
90
+ "type": "object",
91
+ "maxProperties": 32,
92
+ "propertyNames": {
93
+ "minLength": 1,
94
+ "maxLength": 96,
95
+ "pattern": "^[A-Za-z][A-Za-z0-9_-]*$"
96
+ },
97
+ "additionalProperties": {
98
+ "type": "string",
99
+ "minLength": 1,
100
+ "maxLength": 96,
101
+ "pattern": "^[A-Za-z][A-Za-z0-9_-]*$"
102
+ }
103
+ },
104
+ "expected": { "$ref": "#/$defs/expectedOperation" }
105
+ }
106
+ },
107
+ "jsonSchema": {
108
+ "type": "object",
109
+ "required": ["$schema", "type"],
110
+ "properties": {
111
+ "$schema": { "const": "https://json-schema.org/draft/2020-12/schema" },
112
+ "type": {}
113
+ }
114
+ },
115
+ "expectedObservation": {
116
+ "oneOf": [
117
+ {
118
+ "type": "object",
119
+ "additionalProperties": false,
120
+ "required": ["subset"],
121
+ "properties": { "subset": { "type": "object" } }
122
+ },
123
+ {
124
+ "type": "object",
125
+ "additionalProperties": false,
126
+ "required": ["schema"],
127
+ "properties": { "schema": { "$ref": "#/$defs/jsonSchema" } }
128
+ }
129
+ ]
130
+ },
131
+ "case": {
132
+ "type": "object",
133
+ "additionalProperties": false,
134
+ "required": ["id", "description", "resetBeforeCase", "arrangement"],
135
+ "properties": {
136
+ "id": { "$ref": "#/$defs/identifier" },
137
+ "description": { "type": "string", "minLength": 1, "maxLength": 500 },
138
+ "resetBeforeCase": { "type": "boolean" },
139
+ "arrangement": { "$ref": "#/$defs/arrangement" },
140
+ "observation": { "$ref": "#/$defs/observation" },
141
+ "expectedObservation": { "$ref": "#/$defs/expectedObservation" }
142
+ },
143
+ "allOf": [
144
+ {
145
+ "if": { "required": ["expectedObservation"] },
146
+ "then": { "required": ["observation"] }
147
+ }
148
+ ]
149
+ }
150
+ }
151
+ }
@@ -0,0 +1,255 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "urn:overseer:testing-control:v3:conformance-report:v1",
4
+ "title": "Testing-control v3 conformance report",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "protocolVersion",
10
+ "target",
11
+ "startedAt",
12
+ "completedAt",
13
+ "lifecycle",
14
+ "capabilities",
15
+ "checks",
16
+ "aggregateStatus"
17
+ ],
18
+ "properties": {
19
+ "schemaVersion": { "const": "1" },
20
+ "protocolVersion": { "const": "3" },
21
+ "target": { "$ref": "#/$defs/target" },
22
+ "startedAt": { "type": "string", "format": "date-time" },
23
+ "completedAt": { "type": "string", "format": "date-time" },
24
+ "lifecycle": { "$ref": "#/$defs/lifecycle" },
25
+ "identity": {
26
+ "type": ["object", "null"],
27
+ "additionalProperties": false,
28
+ "required": ["applicationId", "applicationVersion", "environmentId"],
29
+ "properties": {
30
+ "applicationId": { "$ref": "#/$defs/safeString" },
31
+ "applicationVersion": { "$ref": "#/$defs/safeString" },
32
+ "environmentId": { "$ref": "#/$defs/safeString" }
33
+ }
34
+ },
35
+ "capabilities": {
36
+ "type": ["object", "null"],
37
+ "additionalProperties": false,
38
+ "required": ["resetStrategy", "arrangements", "observations", "sinks"],
39
+ "properties": {
40
+ "resetStrategy": { "enum": ["in-process", "runtime-restart"] },
41
+ "arrangements": { "$ref": "#/$defs/capabilityList" },
42
+ "observations": { "$ref": "#/$defs/capabilityList" },
43
+ "sinks": { "$ref": "#/$defs/capabilityList" }
44
+ }
45
+ },
46
+ "checks": {
47
+ "type": "array",
48
+ "minItems": 1,
49
+ "maxItems": 256,
50
+ "items": { "$ref": "#/$defs/check" }
51
+ },
52
+ "aggregateStatus": { "enum": ["passed", "failed"] }
53
+ },
54
+ "$defs": {
55
+ "safeString": { "type": "string", "minLength": 1, "maxLength": 500 },
56
+ "target": {
57
+ "type": "object",
58
+ "additionalProperties": false,
59
+ "required": ["label", "origin", "sourceVersion"],
60
+ "properties": {
61
+ "label": { "$ref": "#/$defs/safeString" },
62
+ "origin": { "type": ["string", "null"], "maxLength": 128 },
63
+ "sourceVersion": { "type": ["string", "null"], "maxLength": 128 },
64
+ "provenance": { "$ref": "#/$defs/provenance" }
65
+ }
66
+ },
67
+ "sha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" },
68
+ "provenance": {
69
+ "type": "object",
70
+ "additionalProperties": false,
71
+ "required": [
72
+ "project",
73
+ "targetKey",
74
+ "backend",
75
+ "backendManifest",
76
+ "sourceIdentity",
77
+ "runtime",
78
+ "expectedIdentity",
79
+ "conformanceCase",
80
+ "bounds"
81
+ ],
82
+ "properties": {
83
+ "project": {
84
+ "type": "object",
85
+ "additionalProperties": false,
86
+ "required": ["id", "revision", "sha256"],
87
+ "properties": {
88
+ "id": { "$ref": "#/$defs/safeString" },
89
+ "revision": { "type": "integer", "minimum": 1 },
90
+ "sha256": { "$ref": "#/$defs/sha256" }
91
+ }
92
+ },
93
+ "targetKey": { "$ref": "#/$defs/safeString" },
94
+ "backend": {
95
+ "type": "object",
96
+ "additionalProperties": false,
97
+ "required": ["projectBackendId", "registryId", "applicationId"],
98
+ "properties": {
99
+ "projectBackendId": { "$ref": "#/$defs/safeString" },
100
+ "registryId": { "$ref": "#/$defs/safeString" },
101
+ "applicationId": { "$ref": "#/$defs/safeString" }
102
+ }
103
+ },
104
+ "backendManifest": {
105
+ "type": "object",
106
+ "additionalProperties": false,
107
+ "required": ["version", "sha256", "origin"],
108
+ "properties": {
109
+ "version": { "const": "1" },
110
+ "sha256": { "$ref": "#/$defs/sha256" },
111
+ "origin": { "const": "backend-manifest-at-git-oid" }
112
+ }
113
+ },
114
+ "sourceIdentity": {
115
+ "type": "object",
116
+ "additionalProperties": false,
117
+ "required": [
118
+ "identityVersion",
119
+ "kind",
120
+ "git",
121
+ "requestedRef",
122
+ "resolvedRef",
123
+ "reproducibility"
124
+ ],
125
+ "properties": {
126
+ "identityVersion": { "const": "1" },
127
+ "kind": { "const": "git" },
128
+ "git": {
129
+ "type": "object",
130
+ "additionalProperties": false,
131
+ "required": ["algorithm", "objectId"],
132
+ "properties": {
133
+ "algorithm": { "enum": ["sha1", "sha256"] },
134
+ "objectId": { "type": "string", "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$" }
135
+ }
136
+ },
137
+ "requestedRef": { "type": "string", "minLength": 1, "maxLength": 4096 },
138
+ "resolvedRef": { "type": "string", "minLength": 1, "maxLength": 4096 },
139
+ "reproducibility": { "const": "exact-if-git-object-retained" }
140
+ }
141
+ },
142
+ "runtime": {
143
+ "type": "object",
144
+ "additionalProperties": false,
145
+ "required": [
146
+ "mode",
147
+ "profileName",
148
+ "profilePolicyVersion",
149
+ "profilePolicySource",
150
+ "profileDefaulted",
151
+ "profileAttestation",
152
+ "runtimeOwnership",
153
+ "runtimeFreshness",
154
+ "resetPolicy",
155
+ "testingControlBasePath",
156
+ "healthPath"
157
+ ],
158
+ "properties": {
159
+ "mode": { "enum": ["managed-fresh", "attached-loopback"] },
160
+ "profileName": { "enum": ["explore", "isolated", "ci"] },
161
+ "profilePolicyVersion": { "const": "1" },
162
+ "profilePolicySource": { "const": "built-in" },
163
+ "profileDefaulted": { "type": "boolean" },
164
+ "profileAttestation": { "$ref": "#/$defs/safeString" },
165
+ "runtimeOwnership": { "$ref": "#/$defs/safeString" },
166
+ "runtimeFreshness": { "$ref": "#/$defs/safeString" },
167
+ "resetPolicy": { "$ref": "#/$defs/safeString" },
168
+ "testingControlBasePath": {
169
+ "type": "string",
170
+ "pattern": "^/[^\\r\\n]*$",
171
+ "maxLength": 4096
172
+ },
173
+ "healthPath": { "type": "string", "pattern": "^/[^\\r\\n]*$", "maxLength": 4096 }
174
+ }
175
+ },
176
+ "expectedIdentity": {
177
+ "type": ["object", "null"],
178
+ "additionalProperties": false,
179
+ "required": ["applicationId", "applicationVersion", "environmentId"],
180
+ "properties": {
181
+ "applicationId": { "$ref": "#/$defs/safeString" },
182
+ "applicationVersion": { "$ref": "#/$defs/safeString" },
183
+ "environmentId": { "$ref": "#/$defs/safeString" }
184
+ }
185
+ },
186
+ "conformanceCase": {
187
+ "type": ["object", "null"],
188
+ "additionalProperties": false,
189
+ "required": ["id", "sha256"],
190
+ "properties": {
191
+ "id": { "$ref": "#/$defs/safeString" },
192
+ "sha256": { "$ref": "#/$defs/sha256" }
193
+ }
194
+ },
195
+ "bounds": {
196
+ "type": "object",
197
+ "additionalProperties": false,
198
+ "required": ["maximumSanitizedBodyBytes"],
199
+ "properties": {
200
+ "maximumSanitizedBodyBytes": { "type": "integer", "minimum": 1, "maximum": 4194304 }
201
+ }
202
+ }
203
+ }
204
+ },
205
+ "lifecycle": {
206
+ "type": "object",
207
+ "additionalProperties": false,
208
+ "required": ["ownership", "started", "completed", "cleanup"],
209
+ "properties": {
210
+ "ownership": { "enum": ["overseer-managed", "explicitly-attached"] },
211
+ "started": { "type": "boolean" },
212
+ "completed": { "type": "boolean" },
213
+ "cleanup": { "enum": ["passed", "failed", "not-owned"] }
214
+ }
215
+ },
216
+ "capability": {
217
+ "type": "object",
218
+ "additionalProperties": false,
219
+ "required": ["id", "version", "inputSchema", "outputSchema"],
220
+ "properties": {
221
+ "id": { "$ref": "#/$defs/safeString" },
222
+ "version": { "$ref": "#/$defs/safeString" },
223
+ "inputSchema": { "type": "object" },
224
+ "outputSchema": { "type": "object" }
225
+ }
226
+ },
227
+ "capabilityList": {
228
+ "type": "array",
229
+ "maxItems": 1024,
230
+ "items": { "$ref": "#/$defs/capability" }
231
+ },
232
+ "check": {
233
+ "type": "object",
234
+ "additionalProperties": false,
235
+ "required": ["id", "status", "category", "message"],
236
+ "properties": {
237
+ "id": {
238
+ "type": "string",
239
+ "minLength": 1,
240
+ "maxLength": 160,
241
+ "pattern": "^[a-z0-9][a-z0-9._-]*$"
242
+ },
243
+ "status": { "enum": ["passed", "failed"] },
244
+ "category": {
245
+ "type": "string",
246
+ "minLength": 1,
247
+ "maxLength": 96,
248
+ "pattern": "^[a-z0-9][a-z0-9-]*$"
249
+ },
250
+ "message": { "$ref": "#/$defs/safeString" },
251
+ "scenarioId": { "type": "string", "minLength": 1, "maxLength": 96 }
252
+ }
253
+ }
254
+ }
255
+ }
@@ -0,0 +1,147 @@
1
+ {
2
+ "protocol": {
3
+ "name": "overseer-testing-control",
4
+ "version": "3"
5
+ },
6
+ "meta": {
7
+ "runId": "run-2026-07-31-001",
8
+ "correlationId": "7a7761ba-5050-4561-a9a4-4f07483f658c"
9
+ },
10
+ "data": {
11
+ "application": {
12
+ "id": "sample-product",
13
+ "version": "0123456789abcdef0123456789abcdef01234567"
14
+ },
15
+ "environment": {
16
+ "id": "overseer-sample-01234567-run001",
17
+ "kind": "test",
18
+ "isolated": true
19
+ },
20
+ "reset": {
21
+ "strategy": "in-process",
22
+ "clearsSinks": true
23
+ },
24
+ "features": [
25
+ "correlation-propagation",
26
+ "deterministic-replay",
27
+ "reset",
28
+ "schema-validation",
29
+ "sink-clearing"
30
+ ],
31
+ "limits": {
32
+ "maxRequestBytes": 65536,
33
+ "maxResponseBytes": 262144,
34
+ "maxSchemaBytes": 65536,
35
+ "maxSinkRecordsPerQuery": 100,
36
+ "maxSinkRecordBytes": 16384
37
+ },
38
+ "safety": {
39
+ "syntheticDataRequired": true,
40
+ "realCredentialsAllowed": false,
41
+ "secretPersistenceAllowed": false,
42
+ "externalNetwork": "blocked"
43
+ },
44
+ "states": [
45
+ {
46
+ "id": "active-user",
47
+ "version": "1",
48
+ "title": "Active synthetic user",
49
+ "description": "Creates or reuses an active synthetic user.",
50
+ "idempotency": "supported",
51
+ "inputSchema": {
52
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
53
+ "type": "object",
54
+ "additionalProperties": false,
55
+ "required": ["email"],
56
+ "properties": {
57
+ "email": {
58
+ "type": "string",
59
+ "format": "email",
60
+ "pattern": "\\.invalid$"
61
+ }
62
+ }
63
+ },
64
+ "outputSchema": {
65
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
66
+ "type": "object",
67
+ "additionalProperties": false,
68
+ "required": ["status"],
69
+ "properties": {
70
+ "status": {
71
+ "const": "active"
72
+ }
73
+ }
74
+ }
75
+ }
76
+ ],
77
+ "probes": [
78
+ {
79
+ "id": "user-projection",
80
+ "version": "1",
81
+ "title": "Sanitized user projection",
82
+ "description": "Reads bounded user state without returning credentials.",
83
+ "readOnly": true,
84
+ "inputSchema": {
85
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
86
+ "type": "object",
87
+ "additionalProperties": false,
88
+ "required": ["userId"],
89
+ "properties": {
90
+ "userId": {
91
+ "type": "string",
92
+ "minLength": 1
93
+ }
94
+ }
95
+ },
96
+ "outputSchema": {
97
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
98
+ "type": "object",
99
+ "additionalProperties": false,
100
+ "required": ["id", "status"],
101
+ "properties": {
102
+ "id": {
103
+ "type": "string"
104
+ },
105
+ "status": {
106
+ "enum": ["active", "inactive"]
107
+ }
108
+ }
109
+ }
110
+ }
111
+ ],
112
+ "sinks": [
113
+ {
114
+ "id": "transactional-email",
115
+ "version": "1",
116
+ "title": "Recorded transactional email",
117
+ "description": "Captures sanitized email attempts without delivery.",
118
+ "effectKinds": ["email"],
119
+ "outcomes": ["success", "temporary-failure", "provider-rejection"],
120
+ "queryInputSchema": {
121
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
122
+ "type": "object",
123
+ "additionalProperties": false,
124
+ "properties": {
125
+ "template": {
126
+ "type": "string"
127
+ }
128
+ }
129
+ },
130
+ "recordSchema": {
131
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
132
+ "type": "object",
133
+ "additionalProperties": false,
134
+ "required": ["template", "recipientAlias"],
135
+ "properties": {
136
+ "template": {
137
+ "type": "string"
138
+ },
139
+ "recipientAlias": {
140
+ "type": "string"
141
+ }
142
+ }
143
+ }
144
+ }
145
+ ]
146
+ }
147
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "../conformance-case.schema.json",
3
+ "schemaVersion": "1",
4
+ "cases": [
5
+ {
6
+ "id": "arrange-and-observe-item",
7
+ "description": "Arrange one synthetic item and inspect its bounded status projection.",
8
+ "resetBeforeCase": true,
9
+ "arrangement": {
10
+ "capability": { "id": "open-item", "version": "1" },
11
+ "input": { "title": "Synthetic item" },
12
+ "expected": { "status": "success" }
13
+ },
14
+ "observation": {
15
+ "capability": { "id": "item-status", "version": "1" },
16
+ "input": {},
17
+ "inputFromArrangementIdentifiers": { "itemId": "itemId" },
18
+ "expected": { "status": "success" }
19
+ },
20
+ "expectedObservation": { "subset": { "status": "open" } }
21
+ }
22
+ ]
23
+ }
@@ -0,0 +1,88 @@
1
+ {
2
+ "schemaVersion": "1",
3
+ "protocolVersion": "3",
4
+ "target": {
5
+ "label": "Synthetic item backend",
6
+ "origin": "http://127.0.0.1:41991",
7
+ "sourceVersion": "0123456789abcdef0123456789abcdef01234567",
8
+ "provenance": {
9
+ "project": {
10
+ "id": "synthetic-review",
11
+ "revision": 3,
12
+ "sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
13
+ },
14
+ "targetKey": "synthetic",
15
+ "backend": {
16
+ "projectBackendId": "synthetic",
17
+ "registryId": "sample-product",
18
+ "applicationId": "sample-product"
19
+ },
20
+ "backendManifest": {
21
+ "version": "1",
22
+ "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
23
+ "origin": "backend-manifest-at-git-oid"
24
+ },
25
+ "sourceIdentity": {
26
+ "identityVersion": "1",
27
+ "kind": "git",
28
+ "git": {
29
+ "algorithm": "sha1",
30
+ "objectId": "0123456789abcdef0123456789abcdef01234567"
31
+ },
32
+ "requestedRef": "0123456789abcdef0123456789abcdef01234567",
33
+ "resolvedRef": "0123456789abcdef0123456789abcdef01234567",
34
+ "reproducibility": "exact-if-git-object-retained"
35
+ },
36
+ "runtime": {
37
+ "mode": "managed-fresh",
38
+ "profileName": "isolated",
39
+ "profilePolicyVersion": "1",
40
+ "profilePolicySource": "built-in",
41
+ "profileDefaulted": true,
42
+ "profileAttestation": "managed-isolated-execution",
43
+ "runtimeOwnership": "overseer-managed",
44
+ "runtimeFreshness": "fresh",
45
+ "resetPolicy": "before-run",
46
+ "testingControlBasePath": "/v1/testing",
47
+ "healthPath": "/health"
48
+ },
49
+ "expectedIdentity": {
50
+ "applicationId": "sample-product",
51
+ "applicationVersion": "0123456789abcdef0123456789abcdef01234567",
52
+ "environmentId": "overseer-sample-run"
53
+ },
54
+ "conformanceCase": null,
55
+ "bounds": {
56
+ "maximumSanitizedBodyBytes": 65536
57
+ }
58
+ }
59
+ },
60
+ "startedAt": "2026-08-04T10:00:00.000Z",
61
+ "completedAt": "2026-08-04T10:00:01.000Z",
62
+ "lifecycle": {
63
+ "ownership": "overseer-managed",
64
+ "started": true,
65
+ "completed": true,
66
+ "cleanup": "passed"
67
+ },
68
+ "identity": {
69
+ "applicationId": "sample-product",
70
+ "applicationVersion": "0123456789abcdef0123456789abcdef01234567",
71
+ "environmentId": "overseer-sample-run"
72
+ },
73
+ "capabilities": {
74
+ "resetStrategy": "in-process",
75
+ "arrangements": [],
76
+ "observations": [],
77
+ "sinks": []
78
+ },
79
+ "checks": [
80
+ {
81
+ "id": "core.discovery",
82
+ "status": "passed",
83
+ "category": "protocol",
84
+ "message": "Discovered testing-control protocol v3."
85
+ }
86
+ ],
87
+ "aggregateStatus": "passed"
88
+ }