@openpond/evals 0.5.0 → 0.7.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 (118) hide show
  1. package/CONTRACT.md +13 -1
  2. package/LEARNING.md +106 -0
  3. package/README.md +28 -2
  4. package/conformance/telemetry/v1/invalid-batch.json +17 -0
  5. package/conformance/telemetry/v1/valid-batch.json +58 -0
  6. package/dist/graders.js +26 -5
  7. package/dist/index.js +8 -0
  8. package/dist/javascript-verifier-contract.js +7 -0
  9. package/dist/javascript-verifier-node.js +56 -0
  10. package/dist/javascript-verifier-worker-source.js +1 -0
  11. package/dist/javascript-verifier-worker.js +6 -0
  12. package/dist/javascript-verifier.js +64 -0
  13. package/dist/learned-preference.js +334 -0
  14. package/dist/learning/admission.js +209 -0
  15. package/dist/learning/assets.js +37 -0
  16. package/dist/learning/contracts.js +267 -0
  17. package/dist/learning/errors.js +12 -0
  18. package/dist/learning/grade-worker.js +99 -0
  19. package/dist/learning/index.js +9 -0
  20. package/dist/learning/operations.js +33 -0
  21. package/dist/learning/repository.js +48 -0
  22. package/dist/learning/service.js +367 -0
  23. package/dist/learning/transport.js +25 -0
  24. package/dist/preferences.js +77 -11
  25. package/dist/rewards.js +230 -0
  26. package/dist/task-schema.js +142 -0
  27. package/dist/tasksets.js +3 -0
  28. package/dist/telemetry/index.js +4 -0
  29. package/dist/telemetry-analysis.js +183 -0
  30. package/dist/telemetry-bundle.js +60 -0
  31. package/dist/telemetry-catalog.js +50 -0
  32. package/dist/telemetry.js +112 -0
  33. package/dist/types/builtin-benchmarks/harness-refiner.d.ts +7 -0
  34. package/dist/types/builtin-benchmarks/harness-refiner.d.ts.map +1 -1
  35. package/dist/types/conformance.d.ts +14 -0
  36. package/dist/types/conformance.d.ts.map +1 -1
  37. package/dist/types/execution-contracts.d.ts +14 -0
  38. package/dist/types/execution-contracts.d.ts.map +1 -1
  39. package/dist/types/graders.d.ts.map +1 -1
  40. package/dist/types/index.d.ts +8 -0
  41. package/dist/types/index.d.ts.map +1 -1
  42. package/dist/types/javascript-verifier-contract.d.ts +9 -0
  43. package/dist/types/javascript-verifier-contract.d.ts.map +1 -0
  44. package/dist/types/javascript-verifier-node.d.ts +5 -0
  45. package/dist/types/javascript-verifier-node.d.ts.map +1 -0
  46. package/dist/types/javascript-verifier-worker-source.d.ts +2 -0
  47. package/dist/types/javascript-verifier-worker.d.ts +2 -0
  48. package/dist/types/javascript-verifier-worker.d.ts.map +1 -0
  49. package/dist/types/javascript-verifier.d.ts +15 -0
  50. package/dist/types/javascript-verifier.d.ts.map +1 -0
  51. package/dist/types/learned-preference.d.ts +282 -0
  52. package/dist/types/learned-preference.d.ts.map +1 -0
  53. package/dist/types/learning/admission.d.ts +335 -0
  54. package/dist/types/learning/admission.d.ts.map +1 -0
  55. package/dist/types/learning/assets.d.ts +49 -0
  56. package/dist/types/learning/assets.d.ts.map +1 -0
  57. package/dist/types/learning/contracts.d.ts +2149 -0
  58. package/dist/types/learning/contracts.d.ts.map +1 -0
  59. package/dist/types/learning/errors.d.ts +8 -0
  60. package/dist/types/learning/errors.d.ts.map +1 -0
  61. package/dist/types/learning/grade-worker.d.ts +31 -0
  62. package/dist/types/learning/grade-worker.d.ts.map +1 -0
  63. package/dist/types/learning/index.d.ts +10 -0
  64. package/dist/types/learning/index.d.ts.map +1 -0
  65. package/dist/types/learning/operations.d.ts +2061 -0
  66. package/dist/types/learning/operations.d.ts.map +1 -0
  67. package/dist/types/learning/repository.d.ts +1143 -0
  68. package/dist/types/learning/repository.d.ts.map +1 -0
  69. package/dist/types/learning/service.d.ts +22 -0
  70. package/dist/types/learning/service.d.ts.map +1 -0
  71. package/dist/types/learning/transport.d.ts +2139 -0
  72. package/dist/types/learning/transport.d.ts.map +1 -0
  73. package/dist/types/preferences.d.ts +55 -7
  74. package/dist/types/preferences.d.ts.map +1 -1
  75. package/dist/types/review-conformance.d.ts +5 -5
  76. package/dist/types/rewards.d.ts +611 -0
  77. package/dist/types/rewards.d.ts.map +1 -0
  78. package/dist/types/task-schema.d.ts +18 -0
  79. package/dist/types/task-schema.d.ts.map +1 -0
  80. package/dist/types/tasksets.d.ts +28 -0
  81. package/dist/types/tasksets.d.ts.map +1 -1
  82. package/dist/types/telemetry/index.d.ts +5 -0
  83. package/dist/types/telemetry/index.d.ts.map +1 -0
  84. package/dist/types/telemetry-analysis.d.ts +116 -0
  85. package/dist/types/telemetry-analysis.d.ts.map +1 -0
  86. package/dist/types/telemetry-bundle.d.ts +309 -0
  87. package/dist/types/telemetry-bundle.d.ts.map +1 -0
  88. package/dist/types/telemetry-catalog.d.ts +269 -0
  89. package/dist/types/telemetry-catalog.d.ts.map +1 -0
  90. package/dist/types/telemetry.d.ts +266 -0
  91. package/dist/types/telemetry.d.ts.map +1 -0
  92. package/package.json +40 -3
  93. package/schemas/learning/v1/asset.schema.json +89 -0
  94. package/schemas/learning/v1/batch.schema.json +132 -0
  95. package/schemas/learning/v1/binding.schema.json +207 -0
  96. package/schemas/learning/v1/command-request.schema.json +2414 -0
  97. package/schemas/learning/v1/decision.schema.json +440 -0
  98. package/schemas/learning/v1/definition.schema.json +397 -0
  99. package/schemas/learning/v1/evidence.schema.json +317 -0
  100. package/schemas/learning/v1/example-submission.schema.json +253 -0
  101. package/schemas/learning/v1/feedback-submission.schema.json +114 -0
  102. package/schemas/learning/v1/feedback.schema.json +233 -0
  103. package/schemas/learning/v1/grade.schema.json +412 -0
  104. package/schemas/learning/v1/iteration.schema.json +236 -0
  105. package/schemas/learning/v1/package.schema.json +776 -0
  106. package/schemas/learning/v1/policy.schema.json +373 -0
  107. package/schemas/learning/v1/read-request.schema.json +101 -0
  108. package/schemas/learning/v1/reward.schema.json +302 -0
  109. package/schemas/learning/v1/source.schema.json +198 -0
  110. package/schemas/telemetry/v1/evidence-completeness.schema.json +82 -0
  111. package/schemas/telemetry/v1/evidence-reference.schema.json +41 -0
  112. package/schemas/telemetry/v1/metric-definition.schema.json +96 -0
  113. package/schemas/telemetry/v1/metric-observation.schema.json +182 -0
  114. package/schemas/telemetry/v1/run-metric-summary.schema.json +98 -0
  115. package/schemas/telemetry/v1/run-telemetry-batch.schema.json +405 -0
  116. package/schemas/telemetry/v1/run-telemetry-event.schema.json +201 -0
  117. package/schemas/telemetry/v1/telemetry-cohort.schema.json +100 -0
  118. package/schemas/telemetry/v1/telemetry-export-bundle.schema.json +655 -0
@@ -0,0 +1,405 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "schemaVersion": {
6
+ "type": "string",
7
+ "const": "openpond.runTelemetryBatch.v1"
8
+ },
9
+ "events": {
10
+ "maxItems": 1000,
11
+ "type": "array",
12
+ "items": {
13
+ "type": "object",
14
+ "properties": {
15
+ "schemaVersion": {
16
+ "type": "string",
17
+ "const": "openpond.runTelemetryEvent.v1"
18
+ },
19
+ "eventId": {
20
+ "type": "string",
21
+ "minLength": 1,
22
+ "maxLength": 240
23
+ },
24
+ "sequence": {
25
+ "type": "integer",
26
+ "minimum": 0,
27
+ "maximum": 9007199254740991
28
+ },
29
+ "occurredAt": {
30
+ "type": "string",
31
+ "format": "date-time",
32
+ "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
33
+ },
34
+ "source": {
35
+ "type": "string",
36
+ "enum": [
37
+ "runtime",
38
+ "environment",
39
+ "grader",
40
+ "optimizer",
41
+ "control_plane",
42
+ "evaluation"
43
+ ]
44
+ },
45
+ "type": {
46
+ "type": "string",
47
+ "enum": [
48
+ "run_started",
49
+ "run_state_changed",
50
+ "rollout_group_started",
51
+ "attempt_completed",
52
+ "grader_completed",
53
+ "reward_composed",
54
+ "optimizer_step_completed",
55
+ "checkpoint_committed",
56
+ "evaluation_completed",
57
+ "run_completed",
58
+ "run_failed",
59
+ "cleanup_completed"
60
+ ]
61
+ },
62
+ "visibility": {
63
+ "type": "string",
64
+ "enum": [
65
+ "policy_visible",
66
+ "team_visible",
67
+ "host_private"
68
+ ]
69
+ },
70
+ "lineage": {
71
+ "type": "object",
72
+ "properties": {
73
+ "modelProjectId": {
74
+ "type": "string",
75
+ "minLength": 1,
76
+ "maxLength": 240
77
+ },
78
+ "runId": {
79
+ "type": "string",
80
+ "minLength": 1,
81
+ "maxLength": 240
82
+ },
83
+ "modelVersionId": {
84
+ "anyOf": [
85
+ {
86
+ "type": "string",
87
+ "minLength": 1,
88
+ "maxLength": 240
89
+ },
90
+ {
91
+ "type": "null"
92
+ }
93
+ ]
94
+ },
95
+ "harnessReleaseHash": {
96
+ "type": "string",
97
+ "pattern": "^[a-f0-9]{64}$"
98
+ },
99
+ "tasksetReleaseHash": {
100
+ "type": "string",
101
+ "pattern": "^[a-f0-9]{64}$"
102
+ },
103
+ "environmentReleaseHash": {
104
+ "anyOf": [
105
+ {
106
+ "type": "string",
107
+ "pattern": "^[a-f0-9]{64}$"
108
+ },
109
+ {
110
+ "type": "null"
111
+ }
112
+ ]
113
+ },
114
+ "checkpointId": {
115
+ "anyOf": [
116
+ {
117
+ "type": "string",
118
+ "minLength": 1,
119
+ "maxLength": 240
120
+ },
121
+ {
122
+ "type": "null"
123
+ }
124
+ ]
125
+ },
126
+ "step": {
127
+ "anyOf": [
128
+ {
129
+ "type": "integer",
130
+ "minimum": 0,
131
+ "maximum": 9007199254740991
132
+ },
133
+ {
134
+ "type": "null"
135
+ }
136
+ ]
137
+ },
138
+ "rolloutGroupId": {
139
+ "anyOf": [
140
+ {
141
+ "type": "string",
142
+ "minLength": 1,
143
+ "maxLength": 240
144
+ },
145
+ {
146
+ "type": "null"
147
+ }
148
+ ]
149
+ },
150
+ "attemptId": {
151
+ "anyOf": [
152
+ {
153
+ "type": "string",
154
+ "minLength": 1,
155
+ "maxLength": 240
156
+ },
157
+ {
158
+ "type": "null"
159
+ }
160
+ ]
161
+ },
162
+ "scenarioId": {
163
+ "anyOf": [
164
+ {
165
+ "type": "string",
166
+ "minLength": 1,
167
+ "maxLength": 240
168
+ },
169
+ {
170
+ "type": "null"
171
+ }
172
+ ]
173
+ }
174
+ },
175
+ "required": [
176
+ "modelProjectId",
177
+ "runId",
178
+ "modelVersionId",
179
+ "harnessReleaseHash",
180
+ "tasksetReleaseHash",
181
+ "environmentReleaseHash",
182
+ "checkpointId",
183
+ "step",
184
+ "rolloutGroupId",
185
+ "attemptId",
186
+ "scenarioId"
187
+ ],
188
+ "additionalProperties": false
189
+ },
190
+ "attributes": {
191
+ "default": {},
192
+ "type": "object",
193
+ "propertyNames": {
194
+ "type": "string"
195
+ },
196
+ "additionalProperties": {}
197
+ }
198
+ },
199
+ "required": [
200
+ "schemaVersion",
201
+ "eventId",
202
+ "sequence",
203
+ "occurredAt",
204
+ "source",
205
+ "type",
206
+ "visibility",
207
+ "lineage",
208
+ "attributes"
209
+ ],
210
+ "additionalProperties": false
211
+ }
212
+ },
213
+ "observations": {
214
+ "maxItems": 10000,
215
+ "type": "array",
216
+ "items": {
217
+ "type": "object",
218
+ "properties": {
219
+ "schemaVersion": {
220
+ "type": "string",
221
+ "const": "openpond.metricObservation.v1"
222
+ },
223
+ "observationId": {
224
+ "type": "string",
225
+ "minLength": 1,
226
+ "maxLength": 240
227
+ },
228
+ "metricId": {
229
+ "type": "string",
230
+ "minLength": 1,
231
+ "maxLength": 240
232
+ },
233
+ "eventId": {
234
+ "type": "string",
235
+ "minLength": 1,
236
+ "maxLength": 240
237
+ },
238
+ "sequence": {
239
+ "type": "integer",
240
+ "minimum": 0,
241
+ "maximum": 9007199254740991
242
+ },
243
+ "observedAt": {
244
+ "type": "string",
245
+ "format": "date-time",
246
+ "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
247
+ },
248
+ "value": {
249
+ "type": "number"
250
+ },
251
+ "lineage": {
252
+ "type": "object",
253
+ "properties": {
254
+ "modelProjectId": {
255
+ "type": "string",
256
+ "minLength": 1,
257
+ "maxLength": 240
258
+ },
259
+ "runId": {
260
+ "type": "string",
261
+ "minLength": 1,
262
+ "maxLength": 240
263
+ },
264
+ "modelVersionId": {
265
+ "anyOf": [
266
+ {
267
+ "type": "string",
268
+ "minLength": 1,
269
+ "maxLength": 240
270
+ },
271
+ {
272
+ "type": "null"
273
+ }
274
+ ]
275
+ },
276
+ "harnessReleaseHash": {
277
+ "type": "string",
278
+ "pattern": "^[a-f0-9]{64}$"
279
+ },
280
+ "tasksetReleaseHash": {
281
+ "type": "string",
282
+ "pattern": "^[a-f0-9]{64}$"
283
+ },
284
+ "environmentReleaseHash": {
285
+ "anyOf": [
286
+ {
287
+ "type": "string",
288
+ "pattern": "^[a-f0-9]{64}$"
289
+ },
290
+ {
291
+ "type": "null"
292
+ }
293
+ ]
294
+ },
295
+ "checkpointId": {
296
+ "anyOf": [
297
+ {
298
+ "type": "string",
299
+ "minLength": 1,
300
+ "maxLength": 240
301
+ },
302
+ {
303
+ "type": "null"
304
+ }
305
+ ]
306
+ },
307
+ "step": {
308
+ "anyOf": [
309
+ {
310
+ "type": "integer",
311
+ "minimum": 0,
312
+ "maximum": 9007199254740991
313
+ },
314
+ {
315
+ "type": "null"
316
+ }
317
+ ]
318
+ },
319
+ "rolloutGroupId": {
320
+ "anyOf": [
321
+ {
322
+ "type": "string",
323
+ "minLength": 1,
324
+ "maxLength": 240
325
+ },
326
+ {
327
+ "type": "null"
328
+ }
329
+ ]
330
+ },
331
+ "attemptId": {
332
+ "anyOf": [
333
+ {
334
+ "type": "string",
335
+ "minLength": 1,
336
+ "maxLength": 240
337
+ },
338
+ {
339
+ "type": "null"
340
+ }
341
+ ]
342
+ },
343
+ "scenarioId": {
344
+ "anyOf": [
345
+ {
346
+ "type": "string",
347
+ "minLength": 1,
348
+ "maxLength": 240
349
+ },
350
+ {
351
+ "type": "null"
352
+ }
353
+ ]
354
+ }
355
+ },
356
+ "required": [
357
+ "modelProjectId",
358
+ "runId",
359
+ "modelVersionId",
360
+ "harnessReleaseHash",
361
+ "tasksetReleaseHash",
362
+ "environmentReleaseHash",
363
+ "checkpointId",
364
+ "step",
365
+ "rolloutGroupId",
366
+ "attemptId",
367
+ "scenarioId"
368
+ ],
369
+ "additionalProperties": false
370
+ },
371
+ "dimensions": {
372
+ "type": "object",
373
+ "propertyNames": {
374
+ "type": "string",
375
+ "minLength": 1,
376
+ "maxLength": 100
377
+ },
378
+ "additionalProperties": {
379
+ "type": "string",
380
+ "maxLength": 500
381
+ }
382
+ }
383
+ },
384
+ "required": [
385
+ "schemaVersion",
386
+ "observationId",
387
+ "metricId",
388
+ "eventId",
389
+ "sequence",
390
+ "observedAt",
391
+ "value",
392
+ "lineage",
393
+ "dimensions"
394
+ ],
395
+ "additionalProperties": false
396
+ }
397
+ }
398
+ },
399
+ "required": [
400
+ "schemaVersion",
401
+ "events",
402
+ "observations"
403
+ ],
404
+ "additionalProperties": false
405
+ }
@@ -0,0 +1,201 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "schemaVersion": {
6
+ "type": "string",
7
+ "const": "openpond.runTelemetryEvent.v1"
8
+ },
9
+ "eventId": {
10
+ "type": "string",
11
+ "minLength": 1,
12
+ "maxLength": 240
13
+ },
14
+ "sequence": {
15
+ "type": "integer",
16
+ "minimum": 0,
17
+ "maximum": 9007199254740991
18
+ },
19
+ "occurredAt": {
20
+ "type": "string",
21
+ "format": "date-time",
22
+ "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
23
+ },
24
+ "source": {
25
+ "type": "string",
26
+ "enum": [
27
+ "runtime",
28
+ "environment",
29
+ "grader",
30
+ "optimizer",
31
+ "control_plane",
32
+ "evaluation"
33
+ ]
34
+ },
35
+ "type": {
36
+ "type": "string",
37
+ "enum": [
38
+ "run_started",
39
+ "run_state_changed",
40
+ "rollout_group_started",
41
+ "attempt_completed",
42
+ "grader_completed",
43
+ "reward_composed",
44
+ "optimizer_step_completed",
45
+ "checkpoint_committed",
46
+ "evaluation_completed",
47
+ "run_completed",
48
+ "run_failed",
49
+ "cleanup_completed"
50
+ ]
51
+ },
52
+ "visibility": {
53
+ "type": "string",
54
+ "enum": [
55
+ "policy_visible",
56
+ "team_visible",
57
+ "host_private"
58
+ ]
59
+ },
60
+ "lineage": {
61
+ "type": "object",
62
+ "properties": {
63
+ "modelProjectId": {
64
+ "type": "string",
65
+ "minLength": 1,
66
+ "maxLength": 240
67
+ },
68
+ "runId": {
69
+ "type": "string",
70
+ "minLength": 1,
71
+ "maxLength": 240
72
+ },
73
+ "modelVersionId": {
74
+ "anyOf": [
75
+ {
76
+ "type": "string",
77
+ "minLength": 1,
78
+ "maxLength": 240
79
+ },
80
+ {
81
+ "type": "null"
82
+ }
83
+ ]
84
+ },
85
+ "harnessReleaseHash": {
86
+ "type": "string",
87
+ "pattern": "^[a-f0-9]{64}$"
88
+ },
89
+ "tasksetReleaseHash": {
90
+ "type": "string",
91
+ "pattern": "^[a-f0-9]{64}$"
92
+ },
93
+ "environmentReleaseHash": {
94
+ "anyOf": [
95
+ {
96
+ "type": "string",
97
+ "pattern": "^[a-f0-9]{64}$"
98
+ },
99
+ {
100
+ "type": "null"
101
+ }
102
+ ]
103
+ },
104
+ "checkpointId": {
105
+ "anyOf": [
106
+ {
107
+ "type": "string",
108
+ "minLength": 1,
109
+ "maxLength": 240
110
+ },
111
+ {
112
+ "type": "null"
113
+ }
114
+ ]
115
+ },
116
+ "step": {
117
+ "anyOf": [
118
+ {
119
+ "type": "integer",
120
+ "minimum": 0,
121
+ "maximum": 9007199254740991
122
+ },
123
+ {
124
+ "type": "null"
125
+ }
126
+ ]
127
+ },
128
+ "rolloutGroupId": {
129
+ "anyOf": [
130
+ {
131
+ "type": "string",
132
+ "minLength": 1,
133
+ "maxLength": 240
134
+ },
135
+ {
136
+ "type": "null"
137
+ }
138
+ ]
139
+ },
140
+ "attemptId": {
141
+ "anyOf": [
142
+ {
143
+ "type": "string",
144
+ "minLength": 1,
145
+ "maxLength": 240
146
+ },
147
+ {
148
+ "type": "null"
149
+ }
150
+ ]
151
+ },
152
+ "scenarioId": {
153
+ "anyOf": [
154
+ {
155
+ "type": "string",
156
+ "minLength": 1,
157
+ "maxLength": 240
158
+ },
159
+ {
160
+ "type": "null"
161
+ }
162
+ ]
163
+ }
164
+ },
165
+ "required": [
166
+ "modelProjectId",
167
+ "runId",
168
+ "modelVersionId",
169
+ "harnessReleaseHash",
170
+ "tasksetReleaseHash",
171
+ "environmentReleaseHash",
172
+ "checkpointId",
173
+ "step",
174
+ "rolloutGroupId",
175
+ "attemptId",
176
+ "scenarioId"
177
+ ],
178
+ "additionalProperties": false
179
+ },
180
+ "attributes": {
181
+ "default": {},
182
+ "type": "object",
183
+ "propertyNames": {
184
+ "type": "string"
185
+ },
186
+ "additionalProperties": {}
187
+ }
188
+ },
189
+ "required": [
190
+ "schemaVersion",
191
+ "eventId",
192
+ "sequence",
193
+ "occurredAt",
194
+ "source",
195
+ "type",
196
+ "visibility",
197
+ "lineage",
198
+ "attributes"
199
+ ],
200
+ "additionalProperties": false
201
+ }
@@ -0,0 +1,100 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "checkpointIds": {
6
+ "maxItems": 1000,
7
+ "type": "array",
8
+ "items": {
9
+ "type": "string",
10
+ "minLength": 1,
11
+ "maxLength": 240
12
+ }
13
+ },
14
+ "steps": {
15
+ "maxItems": 10000,
16
+ "type": "array",
17
+ "items": {
18
+ "type": "integer",
19
+ "minimum": 0,
20
+ "maximum": 9007199254740991
21
+ }
22
+ },
23
+ "scenarioIds": {
24
+ "maxItems": 100000,
25
+ "type": "array",
26
+ "items": {
27
+ "type": "string",
28
+ "minLength": 1,
29
+ "maxLength": 240
30
+ }
31
+ },
32
+ "rolloutGroupIds": {
33
+ "maxItems": 100000,
34
+ "type": "array",
35
+ "items": {
36
+ "type": "string",
37
+ "minLength": 1,
38
+ "maxLength": 240
39
+ }
40
+ },
41
+ "attemptIds": {
42
+ "maxItems": 1000000,
43
+ "type": "array",
44
+ "items": {
45
+ "type": "string",
46
+ "minLength": 1,
47
+ "maxLength": 240
48
+ }
49
+ },
50
+ "splits": {
51
+ "maxItems": 32,
52
+ "type": "array",
53
+ "items": {
54
+ "type": "string",
55
+ "minLength": 1,
56
+ "maxLength": 100
57
+ }
58
+ },
59
+ "failureOwners": {
60
+ "maxItems": 32,
61
+ "type": "array",
62
+ "items": {
63
+ "type": "string",
64
+ "minLength": 1,
65
+ "maxLength": 100
66
+ }
67
+ },
68
+ "graders": {
69
+ "maxItems": 1000,
70
+ "type": "array",
71
+ "items": {
72
+ "type": "string",
73
+ "minLength": 1,
74
+ "maxLength": 200
75
+ }
76
+ },
77
+ "rewardEligible": {
78
+ "anyOf": [
79
+ {
80
+ "type": "boolean"
81
+ },
82
+ {
83
+ "type": "null"
84
+ }
85
+ ]
86
+ }
87
+ },
88
+ "required": [
89
+ "checkpointIds",
90
+ "steps",
91
+ "scenarioIds",
92
+ "rolloutGroupIds",
93
+ "attemptIds",
94
+ "splits",
95
+ "failureOwners",
96
+ "graders",
97
+ "rewardEligible"
98
+ ],
99
+ "additionalProperties": false
100
+ }