equiframe 0.12.4__py3-none-any.whl

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 (170) hide show
  1. equiframe/__init__.py +832 -0
  2. equiframe/__main__.py +3 -0
  3. equiframe/_base.py +84 -0
  4. equiframe/_cli_support.py +125 -0
  5. equiframe/_comparison_io.py +161 -0
  6. equiframe/_dataset_provenance.py +146 -0
  7. equiframe/_decimal.py +22 -0
  8. equiframe/_diff_capture.py +433 -0
  9. equiframe/_doctor.py +123 -0
  10. equiframe/_document_io.py +61 -0
  11. equiframe/_documents.py +79 -0
  12. equiframe/_duckdb_transport.py +149 -0
  13. equiframe/_error_reporting.py +52 -0
  14. equiframe/_first_use.py +102 -0
  15. equiframe/_path_compat.py +26 -0
  16. equiframe/_physical.py +133 -0
  17. equiframe/_r_review.R +308 -0
  18. equiframe/_regular_io.py +167 -0
  19. equiframe/_report_format_v1.py +298 -0
  20. equiframe/_report_io.py +591 -0
  21. equiframe/_stability_inventory.py +1421 -0
  22. equiframe/_timezones.py +257 -0
  23. equiframe/_vendor/cyclonedx/LICENSE +201 -0
  24. equiframe/_vendor/cyclonedx/PROVENANCE.md +18 -0
  25. equiframe/_vendor/cyclonedx/bom-1.6.schema.json +5673 -0
  26. equiframe/_vendor/cyclonedx/jsf-0.82.schema.json +240 -0
  27. equiframe/_vendor/cyclonedx/spdx.schema.json +712 -0
  28. equiframe/adapters.py +454 -0
  29. equiframe/assertion_types.py +122 -0
  30. equiframe/assertions.py +271 -0
  31. equiframe/benchmark.py +101 -0
  32. equiframe/bundle.py +240 -0
  33. equiframe/cli.py +693 -0
  34. equiframe/comparison.py +937 -0
  35. equiframe/comparison_report.py +660 -0
  36. equiframe/comparison_types.py +257 -0
  37. equiframe/compatibility.py +546 -0
  38. equiframe/contracts.py +879 -0
  39. equiframe/datasets.py +1301 -0
  40. equiframe/decision.py +34 -0
  41. equiframe/destinations.py +295 -0
  42. equiframe/detector_types.py +431 -0
  43. equiframe/detectors.py +389 -0
  44. equiframe/diff.py +192 -0
  45. equiframe/diff_contracts.py +523 -0
  46. equiframe/docs/adoption.md +329 -0
  47. equiframe/docs/api.md +534 -0
  48. equiframe/docs/arquitecto.md +143 -0
  49. equiframe/docs/choosing-api.md +84 -0
  50. equiframe/docs/cientifico.md +180 -0
  51. equiframe/docs/compatibility.md +254 -0
  52. equiframe/docs/contributing.md +171 -0
  53. equiframe/docs/dependencies.md +237 -0
  54. equiframe/docs/eda.md +166 -0
  55. equiframe/docs/extending.md +158 -0
  56. equiframe/docs/fast-ci.md +52 -0
  57. equiframe/docs/first-use.md +78 -0
  58. equiframe/docs/index.md +142 -0
  59. equiframe/docs/ingestion.md +145 -0
  60. equiframe/docs/inicio.md +129 -0
  61. equiframe/docs/installed-private.md +97 -0
  62. equiframe/docs/journeys.md +362 -0
  63. equiframe/docs/lectura-conversion.md +211 -0
  64. equiframe/docs/licensing.md +17 -0
  65. equiframe/docs/maintenance.md +233 -0
  66. equiframe/docs/migration-ir.md +333 -0
  67. equiframe/docs/option-audit.md +45 -0
  68. equiframe/docs/outcome-gates.md +134 -0
  69. equiframe/docs/performance.md +263 -0
  70. equiframe/docs/piloto-simulado.md +56 -0
  71. equiframe/docs/quickstart.md +156 -0
  72. equiframe/docs/r_review.md +212 -0
  73. equiframe/docs/recipes.md +248 -0
  74. equiframe/docs/releasing.md +183 -0
  75. equiframe/docs/security.md +218 -0
  76. equiframe/docs/semantics.md +274 -0
  77. equiframe/docs/sqlite-snapshots.md +262 -0
  78. equiframe/docs/universal-sources.md +49 -0
  79. equiframe/docs/universalidad-cinco-pasos.md +107 -0
  80. equiframe/docs/upgrading.md +538 -0
  81. equiframe/duckdb_capture.py +410 -0
  82. equiframe/eda/__init__.py +36 -0
  83. equiframe/eda/__main__.py +3 -0
  84. equiframe/eda/_backend.py +612 -0
  85. equiframe/eda/_inventory.py +49 -0
  86. equiframe/eda/_paths.py +49 -0
  87. equiframe/eda/_report.py +291 -0
  88. equiframe/eda/api.py +535 -0
  89. equiframe/eda/cli.py +102 -0
  90. equiframe/eda/models.py +239 -0
  91. equiframe/errors.py +83 -0
  92. equiframe/evidence.py +375 -0
  93. equiframe/examples/integrations/eda_generic.py +60 -0
  94. equiframe/examples/integrations/outcome_gates.py +94 -0
  95. equiframe/examples/integrations/sqlite_snapshot.py +246 -0
  96. equiframe/examples/integrations/sqlite_snapshot_demo.py +226 -0
  97. equiframe/examples/integrations/universal_first_use.py +296 -0
  98. equiframe/examples/journeys/README.md +31 -0
  99. equiframe/examples/journeys/__init__.py +1 -0
  100. equiframe/examples/journeys/a_pandas_refactor.py +88 -0
  101. equiframe/examples/journeys/b_native_migration.py +181 -0
  102. equiframe/examples/journeys/c_retail_etl.py +460 -0
  103. equiframe/examples/journeys/common.py +136 -0
  104. equiframe/examples/journeys/d_financial_reconciliation.py +96 -0
  105. equiframe/examples/journeys/e_telemetry.py +135 -0
  106. equiframe/examples/journeys/f_data_science_preparation.py +84 -0
  107. equiframe/examples/journeys/g_external_snapshots.py +197 -0
  108. equiframe/examples/journeys/h_portable_ci.py +129 -0
  109. equiframe/examples/journeys/requirements.lock +249 -0
  110. equiframe/examples/journeys/verify_journeys.py +117 -0
  111. equiframe/examples/load_convert_compare.py +85 -0
  112. equiframe/execution.py +355 -0
  113. equiframe/execution_types.py +177 -0
  114. equiframe/ingestion.py +744 -0
  115. equiframe/local.py +126 -0
  116. equiframe/migration/__init__.py +94 -0
  117. equiframe/migration/_physical.py +8 -0
  118. equiframe/migration/backends/_timestamp_transport.py +109 -0
  119. equiframe/migration/backends/duckdb.py +651 -0
  120. equiframe/migration/backends/duckdb_decimal.py +125 -0
  121. equiframe/migration/backends/duckdb_time.py +87 -0
  122. equiframe/migration/backends/pandas.py +544 -0
  123. equiframe/migration/backends/polars.py +915 -0
  124. equiframe/migration/backends/polars_decimal.py +231 -0
  125. equiframe/migration/io.py +198 -0
  126. equiframe/migration/ports.py +96 -0
  127. equiframe/migration/runner.py +545 -0
  128. equiframe/migration/runner_types.py +405 -0
  129. equiframe/migration/types.py +354 -0
  130. equiframe/migration/validation.py +619 -0
  131. equiframe/normalization.py +358 -0
  132. equiframe/pipeline.py +274 -0
  133. equiframe/pipeline_types.py +247 -0
  134. equiframe/ports.py +39 -0
  135. equiframe/preprocessing.py +110 -0
  136. equiframe/profile_types.py +343 -0
  137. equiframe/profiles.py +447 -0
  138. equiframe/py.typed +0 -0
  139. equiframe/r_review.py +706 -0
  140. equiframe/reduction.py +518 -0
  141. equiframe/registry.py +121 -0
  142. equiframe/report_rendering.py +366 -0
  143. equiframe/report_types.py +294 -0
  144. equiframe/reporting.py +26 -0
  145. equiframe/rule_types.py +178 -0
  146. equiframe/rules.py +819 -0
  147. equiframe/schemas/r-execution-binding-1.0.schema.json +46 -0
  148. equiframe/schemas/r-review-binding-1.0.schema.json +28 -0
  149. equiframe/schemas/r-review-options-1.0.schema.json +38 -0
  150. equiframe/schemas/r-review-result-1.0.schema.json +207 -0
  151. equiframe/schemas/reviewed-decision-1.0.schema.json +3394 -0
  152. equiframe/serialization.py +152 -0
  153. equiframe/snapshot.py +296 -0
  154. equiframe/sources.py +283 -0
  155. equiframe/tables.py +459 -0
  156. equiframe/types.py +71 -0
  157. equiframe/values.py +252 -0
  158. equiframe/verification_request.py +35 -0
  159. equiframe/verify.py +799 -0
  160. equiframe/verify_types.py +255 -0
  161. equiframe/workflow.py +510 -0
  162. equiframe/workflow_request.py +38 -0
  163. equiframe-0.12.4.dist-info/METADATA +268 -0
  164. equiframe-0.12.4.dist-info/RECORD +170 -0
  165. equiframe-0.12.4.dist-info/WHEEL +4 -0
  166. equiframe-0.12.4.dist-info/entry_points.txt +3 -0
  167. equiframe-0.12.4.dist-info/licenses/LICENSE +21 -0
  168. equiframe-0.12.4.dist-info/licenses/THIRD_PARTY_NOTICES.md +42 -0
  169. equiframe-0.12.4.dist-info/licenses/tools/cyclonedx/LICENSE +201 -0
  170. equiframe-0.12.4.dist-info/licenses/tools/cyclonedx/PROVENANCE.md +18 -0
@@ -0,0 +1,3394 @@
1
+ {
2
+ "$defs": {
3
+ "AggregateCheck": {
4
+ "additionalProperties": false,
5
+ "properties": {
6
+ "function": {
7
+ "enum": [
8
+ "sum",
9
+ "count",
10
+ "min",
11
+ "max"
12
+ ],
13
+ "title": "Function",
14
+ "type": "string"
15
+ },
16
+ "group_by": {
17
+ "items": {
18
+ "minLength": 1,
19
+ "type": "string"
20
+ },
21
+ "title": "Group By",
22
+ "type": "array"
23
+ },
24
+ "kind": {
25
+ "const": "aggregate",
26
+ "default": "aggregate",
27
+ "title": "Kind",
28
+ "type": "string"
29
+ },
30
+ "measure": {
31
+ "anyOf": [
32
+ {
33
+ "minLength": 1,
34
+ "type": "string"
35
+ },
36
+ {
37
+ "type": "null"
38
+ }
39
+ ],
40
+ "title": "Measure"
41
+ },
42
+ "output_column": {
43
+ "minLength": 1,
44
+ "title": "Output Column",
45
+ "type": "string"
46
+ },
47
+ "output_table": {
48
+ "minLength": 1,
49
+ "title": "Output Table",
50
+ "type": "string"
51
+ },
52
+ "table": {
53
+ "minLength": 1,
54
+ "title": "Table",
55
+ "type": "string"
56
+ }
57
+ },
58
+ "required": [
59
+ "table",
60
+ "group_by",
61
+ "measure",
62
+ "function",
63
+ "output_table",
64
+ "output_column"
65
+ ],
66
+ "title": "AggregateCheck",
67
+ "type": "object"
68
+ },
69
+ "AppliedPolicy": {
70
+ "additionalProperties": false,
71
+ "properties": {
72
+ "column": {
73
+ "anyOf": [
74
+ {
75
+ "type": "string"
76
+ },
77
+ {
78
+ "type": "null"
79
+ }
80
+ ],
81
+ "default": null,
82
+ "title": "Column"
83
+ },
84
+ "count": {
85
+ "minimum": 0,
86
+ "title": "Count",
87
+ "type": "integer"
88
+ },
89
+ "operation": {
90
+ "minLength": 1,
91
+ "title": "Operation",
92
+ "type": "string"
93
+ },
94
+ "side": {
95
+ "enum": [
96
+ "left",
97
+ "right"
98
+ ],
99
+ "title": "Side",
100
+ "type": "string"
101
+ }
102
+ },
103
+ "required": [
104
+ "side",
105
+ "operation",
106
+ "count"
107
+ ],
108
+ "title": "AppliedPolicy",
109
+ "type": "object"
110
+ },
111
+ "ArtifactRef": {
112
+ "additionalProperties": false,
113
+ "properties": {
114
+ "format": {
115
+ "enum": [
116
+ "json",
117
+ "jsonl",
118
+ "arrow",
119
+ "parquet"
120
+ ],
121
+ "title": "Format",
122
+ "type": "string"
123
+ },
124
+ "media_type": {
125
+ "minLength": 1,
126
+ "title": "Media Type",
127
+ "type": "string"
128
+ },
129
+ "schema_ref": {
130
+ "anyOf": [
131
+ {
132
+ "$ref": "#/$defs/SchemaRef"
133
+ },
134
+ {
135
+ "type": "null"
136
+ }
137
+ ],
138
+ "default": null
139
+ },
140
+ "schema_version": {
141
+ "const": "1.0",
142
+ "title": "Schema Version",
143
+ "type": "string"
144
+ },
145
+ "sha256": {
146
+ "pattern": "^[0-9a-f]{64}$",
147
+ "title": "Sha256",
148
+ "type": "string"
149
+ },
150
+ "size_bytes": {
151
+ "minimum": 0,
152
+ "title": "Size Bytes",
153
+ "type": "integer"
154
+ },
155
+ "uri": {
156
+ "minLength": 1,
157
+ "title": "Uri",
158
+ "type": "string"
159
+ }
160
+ },
161
+ "required": [
162
+ "schema_version",
163
+ "uri",
164
+ "sha256",
165
+ "format",
166
+ "media_type",
167
+ "size_bytes"
168
+ ],
169
+ "title": "ArtifactRef",
170
+ "type": "object"
171
+ },
172
+ "BooleanType": {
173
+ "additionalProperties": false,
174
+ "properties": {
175
+ "kind": {
176
+ "const": "boolean",
177
+ "default": "boolean",
178
+ "title": "Kind",
179
+ "type": "string"
180
+ }
181
+ },
182
+ "title": "BooleanType",
183
+ "type": "object"
184
+ },
185
+ "BooleanValue": {
186
+ "additionalProperties": false,
187
+ "properties": {
188
+ "kind": {
189
+ "const": "boolean",
190
+ "default": "boolean",
191
+ "title": "Kind",
192
+ "type": "string"
193
+ },
194
+ "value": {
195
+ "title": "Value",
196
+ "type": "boolean"
197
+ }
198
+ },
199
+ "required": [
200
+ "value"
201
+ ],
202
+ "title": "BooleanValue",
203
+ "type": "object"
204
+ },
205
+ "CardinalityCheck": {
206
+ "additionalProperties": false,
207
+ "properties": {
208
+ "kind": {
209
+ "const": "cardinality",
210
+ "default": "cardinality",
211
+ "title": "Kind",
212
+ "type": "string"
213
+ },
214
+ "maximum": {
215
+ "anyOf": [
216
+ {
217
+ "minimum": 0,
218
+ "type": "integer"
219
+ },
220
+ {
221
+ "type": "null"
222
+ }
223
+ ],
224
+ "default": null,
225
+ "title": "Maximum"
226
+ },
227
+ "minimum": {
228
+ "minimum": 0,
229
+ "title": "Minimum",
230
+ "type": "integer"
231
+ },
232
+ "table": {
233
+ "minLength": 1,
234
+ "title": "Table",
235
+ "type": "string"
236
+ }
237
+ },
238
+ "required": [
239
+ "table",
240
+ "minimum"
241
+ ],
242
+ "title": "CardinalityCheck",
243
+ "type": "object"
244
+ },
245
+ "ColumnKeyScope": {
246
+ "additionalProperties": false,
247
+ "properties": {
248
+ "columns": {
249
+ "items": {
250
+ "minLength": 1,
251
+ "type": "string"
252
+ },
253
+ "minItems": 1,
254
+ "title": "Columns",
255
+ "type": "array"
256
+ },
257
+ "kind": {
258
+ "const": "columns",
259
+ "default": "columns",
260
+ "title": "Kind",
261
+ "type": "string"
262
+ }
263
+ },
264
+ "required": [
265
+ "columns"
266
+ ],
267
+ "title": "ColumnKeyScope",
268
+ "type": "object"
269
+ },
270
+ "ColumnSpec": {
271
+ "additionalProperties": false,
272
+ "properties": {
273
+ "allowed_values": {
274
+ "default": [],
275
+ "items": {
276
+ "discriminator": {
277
+ "mapping": {
278
+ "boolean": "#/$defs/BooleanValue",
279
+ "date": "#/$defs/DateValue",
280
+ "decimal": "#/$defs/DecimalValue",
281
+ "float": "#/$defs/FloatValue",
282
+ "infinity": "#/$defs/InfinityValue",
283
+ "integer": "#/$defs/IntegerValue",
284
+ "nan": "#/$defs/NaNValue",
285
+ "null": "#/$defs/NullValue",
286
+ "string": "#/$defs/StringValue",
287
+ "timestamp": "#/$defs/TimestampValue"
288
+ },
289
+ "propertyName": "kind"
290
+ },
291
+ "oneOf": [
292
+ {
293
+ "$ref": "#/$defs/NullValue"
294
+ },
295
+ {
296
+ "$ref": "#/$defs/NaNValue"
297
+ },
298
+ {
299
+ "$ref": "#/$defs/InfinityValue"
300
+ },
301
+ {
302
+ "$ref": "#/$defs/BooleanValue"
303
+ },
304
+ {
305
+ "$ref": "#/$defs/IntegerValue"
306
+ },
307
+ {
308
+ "$ref": "#/$defs/StringValue"
309
+ },
310
+ {
311
+ "$ref": "#/$defs/DecimalValue"
312
+ },
313
+ {
314
+ "$ref": "#/$defs/FloatValue"
315
+ },
316
+ {
317
+ "$ref": "#/$defs/DateValue"
318
+ },
319
+ {
320
+ "$ref": "#/$defs/TimestampValue"
321
+ }
322
+ ]
323
+ },
324
+ "title": "Allowed Values",
325
+ "type": "array"
326
+ },
327
+ "logical_type": {
328
+ "discriminator": {
329
+ "mapping": {
330
+ "boolean": "#/$defs/BooleanType",
331
+ "date": "#/$defs/DateType",
332
+ "decimal": "#/$defs/DecimalType",
333
+ "float": "#/$defs/FloatType",
334
+ "integer": "#/$defs/IntegerType",
335
+ "string": "#/$defs/StringType",
336
+ "timestamp": "#/$defs/TimestampType"
337
+ },
338
+ "propertyName": "kind"
339
+ },
340
+ "oneOf": [
341
+ {
342
+ "$ref": "#/$defs/BooleanType"
343
+ },
344
+ {
345
+ "$ref": "#/$defs/IntegerType"
346
+ },
347
+ {
348
+ "$ref": "#/$defs/StringType"
349
+ },
350
+ {
351
+ "$ref": "#/$defs/DecimalType"
352
+ },
353
+ {
354
+ "$ref": "#/$defs/FloatType"
355
+ },
356
+ {
357
+ "$ref": "#/$defs/DateType"
358
+ },
359
+ {
360
+ "$ref": "#/$defs/TimestampType"
361
+ }
362
+ ],
363
+ "title": "Logical Type"
364
+ },
365
+ "name": {
366
+ "minLength": 1,
367
+ "title": "Name",
368
+ "type": "string"
369
+ },
370
+ "nan_policy": {
371
+ "anyOf": [
372
+ {
373
+ "$ref": "#/$defs/NaNPolicy"
374
+ },
375
+ {
376
+ "type": "null"
377
+ }
378
+ ],
379
+ "default": null
380
+ },
381
+ "null_policy": {
382
+ "$ref": "#/$defs/NullPolicy"
383
+ },
384
+ "nullable": {
385
+ "title": "Nullable",
386
+ "type": "boolean"
387
+ },
388
+ "numeric_policy": {
389
+ "anyOf": [
390
+ {
391
+ "$ref": "#/$defs/NumericPolicy"
392
+ },
393
+ {
394
+ "type": "null"
395
+ }
396
+ ],
397
+ "default": null
398
+ },
399
+ "temporal_policy": {
400
+ "anyOf": [
401
+ {
402
+ "discriminator": {
403
+ "mapping": {
404
+ "date": "#/$defs/DatePolicy",
405
+ "timestamp": "#/$defs/TimestampPolicy"
406
+ },
407
+ "propertyName": "kind"
408
+ },
409
+ "oneOf": [
410
+ {
411
+ "$ref": "#/$defs/DatePolicy"
412
+ },
413
+ {
414
+ "$ref": "#/$defs/TimestampPolicy"
415
+ }
416
+ ]
417
+ },
418
+ {
419
+ "type": "null"
420
+ }
421
+ ],
422
+ "default": null,
423
+ "title": "Temporal Policy"
424
+ }
425
+ },
426
+ "required": [
427
+ "name",
428
+ "logical_type",
429
+ "nullable",
430
+ "null_policy"
431
+ ],
432
+ "title": "ColumnSpec",
433
+ "type": "object"
434
+ },
435
+ "ComparisonCounts": {
436
+ "additionalProperties": false,
437
+ "properties": {
438
+ "contract_violations": {
439
+ "default": 0,
440
+ "minimum": 0,
441
+ "title": "Contract Violations",
442
+ "type": "integer"
443
+ },
444
+ "difference_records": {
445
+ "default": 0,
446
+ "minimum": 0,
447
+ "title": "Difference Records",
448
+ "type": "integer"
449
+ },
450
+ "final": {
451
+ "default": false,
452
+ "title": "Final",
453
+ "type": "boolean"
454
+ },
455
+ "left_rows": {
456
+ "default": 0,
457
+ "minimum": 0,
458
+ "title": "Left Rows",
459
+ "type": "integer"
460
+ },
461
+ "matched_rows": {
462
+ "default": 0,
463
+ "minimum": 0,
464
+ "title": "Matched Rows",
465
+ "type": "integer"
466
+ },
467
+ "right_rows": {
468
+ "default": 0,
469
+ "minimum": 0,
470
+ "title": "Right Rows",
471
+ "type": "integer"
472
+ }
473
+ },
474
+ "title": "ComparisonCounts",
475
+ "type": "object"
476
+ },
477
+ "ComparisonDiagnostic": {
478
+ "additionalProperties": false,
479
+ "properties": {
480
+ "code": {
481
+ "minLength": 1,
482
+ "title": "Code",
483
+ "type": "string"
484
+ },
485
+ "exception_type": {
486
+ "anyOf": [
487
+ {
488
+ "minLength": 1,
489
+ "type": "string"
490
+ },
491
+ {
492
+ "type": "null"
493
+ }
494
+ ],
495
+ "default": null,
496
+ "title": "Exception Type"
497
+ },
498
+ "message": {
499
+ "minLength": 1,
500
+ "title": "Message",
501
+ "type": "string"
502
+ },
503
+ "side": {
504
+ "anyOf": [
505
+ {
506
+ "enum": [
507
+ "left",
508
+ "right"
509
+ ],
510
+ "type": "string"
511
+ },
512
+ {
513
+ "type": "null"
514
+ }
515
+ ],
516
+ "default": null,
517
+ "title": "Side"
518
+ }
519
+ },
520
+ "required": [
521
+ "code",
522
+ "message"
523
+ ],
524
+ "title": "ComparisonDiagnostic",
525
+ "type": "object"
526
+ },
527
+ "ComparisonDifference": {
528
+ "additionalProperties": false,
529
+ "properties": {
530
+ "category": {
531
+ "enum": [
532
+ "contract",
533
+ "content",
534
+ "schema"
535
+ ],
536
+ "title": "Category",
537
+ "type": "string"
538
+ },
539
+ "code": {
540
+ "minLength": 1,
541
+ "title": "Code",
542
+ "type": "string"
543
+ },
544
+ "column": {
545
+ "anyOf": [
546
+ {
547
+ "type": "string"
548
+ },
549
+ {
550
+ "type": "null"
551
+ }
552
+ ],
553
+ "default": null,
554
+ "title": "Column"
555
+ },
556
+ "key": {
557
+ "default": [],
558
+ "items": {
559
+ "$ref": "#/$defs/ComparisonValue"
560
+ },
561
+ "title": "Key",
562
+ "type": "array"
563
+ },
564
+ "left": {
565
+ "default": [],
566
+ "items": {
567
+ "$ref": "#/$defs/ComparisonValue"
568
+ },
569
+ "title": "Left",
570
+ "type": "array"
571
+ },
572
+ "left_count": {
573
+ "default": 0,
574
+ "minimum": 0,
575
+ "title": "Left Count",
576
+ "type": "integer"
577
+ },
578
+ "message": {
579
+ "minLength": 1,
580
+ "title": "Message",
581
+ "type": "string"
582
+ },
583
+ "other_position": {
584
+ "anyOf": [
585
+ {
586
+ "minimum": 0,
587
+ "type": "integer"
588
+ },
589
+ {
590
+ "type": "null"
591
+ }
592
+ ],
593
+ "default": null,
594
+ "title": "Other Position"
595
+ },
596
+ "position": {
597
+ "anyOf": [
598
+ {
599
+ "minimum": 0,
600
+ "type": "integer"
601
+ },
602
+ {
603
+ "type": "null"
604
+ }
605
+ ],
606
+ "default": null,
607
+ "title": "Position"
608
+ },
609
+ "right": {
610
+ "default": [],
611
+ "items": {
612
+ "$ref": "#/$defs/ComparisonValue"
613
+ },
614
+ "title": "Right",
615
+ "type": "array"
616
+ },
617
+ "right_count": {
618
+ "default": 0,
619
+ "minimum": 0,
620
+ "title": "Right Count",
621
+ "type": "integer"
622
+ },
623
+ "schema_version": {
624
+ "const": "1.0",
625
+ "default": "1.0",
626
+ "title": "Schema Version",
627
+ "type": "string"
628
+ },
629
+ "side": {
630
+ "anyOf": [
631
+ {
632
+ "enum": [
633
+ "left",
634
+ "right"
635
+ ],
636
+ "type": "string"
637
+ },
638
+ {
639
+ "type": "null"
640
+ }
641
+ ],
642
+ "default": null,
643
+ "title": "Side"
644
+ }
645
+ },
646
+ "required": [
647
+ "category",
648
+ "code",
649
+ "message"
650
+ ],
651
+ "title": "ComparisonDifference",
652
+ "type": "object"
653
+ },
654
+ "ComparisonOptions": {
655
+ "additionalProperties": false,
656
+ "properties": {
657
+ "batch_rows": {
658
+ "default": 4096,
659
+ "exclusiveMinimum": 0,
660
+ "title": "Batch Rows",
661
+ "type": "integer"
662
+ },
663
+ "max_batch_bytes": {
664
+ "default": 67108864,
665
+ "exclusiveMinimum": 0,
666
+ "title": "Max Batch Bytes",
667
+ "type": "integer"
668
+ },
669
+ "max_disk_bytes": {
670
+ "default": 4294967296,
671
+ "exclusiveMinimum": 0,
672
+ "title": "Max Disk Bytes",
673
+ "type": "integer"
674
+ },
675
+ "max_evidence_bytes": {
676
+ "default": 536870912,
677
+ "exclusiveMinimum": 0,
678
+ "title": "Max Evidence Bytes",
679
+ "type": "integer"
680
+ },
681
+ "max_examples": {
682
+ "default": 20,
683
+ "minimum": 0,
684
+ "title": "Max Examples",
685
+ "type": "integer"
686
+ },
687
+ "max_matching_bytes": {
688
+ "default": 33554432,
689
+ "exclusiveMinimum": 0,
690
+ "title": "Max Matching Bytes",
691
+ "type": "integer"
692
+ },
693
+ "max_matching_rows": {
694
+ "default": 2000,
695
+ "exclusiveMinimum": 0,
696
+ "title": "Max Matching Rows",
697
+ "type": "integer"
698
+ },
699
+ "max_numeric_digits": {
700
+ "default": 4096,
701
+ "exclusiveMinimum": 0,
702
+ "title": "Max Numeric Digits",
703
+ "type": "integer"
704
+ },
705
+ "max_pair_checks": {
706
+ "default": 2000000,
707
+ "exclusiveMinimum": 0,
708
+ "title": "Max Pair Checks",
709
+ "type": "integer"
710
+ },
711
+ "max_row_bytes": {
712
+ "default": 1048576,
713
+ "exclusiveMinimum": 0,
714
+ "title": "Max Row Bytes",
715
+ "type": "integer"
716
+ },
717
+ "max_rows": {
718
+ "default": 10000000,
719
+ "exclusiveMinimum": 0,
720
+ "title": "Max Rows",
721
+ "type": "integer"
722
+ },
723
+ "max_work": {
724
+ "default": 100000000,
725
+ "exclusiveMinimum": 0,
726
+ "title": "Max Work",
727
+ "type": "integer"
728
+ },
729
+ "partitions": {
730
+ "default": 16,
731
+ "maximum": 4096,
732
+ "minimum": 1,
733
+ "title": "Partitions",
734
+ "type": "integer"
735
+ },
736
+ "sqlite_cache_kib": {
737
+ "default": 4096,
738
+ "exclusiveMinimum": 0,
739
+ "title": "Sqlite Cache Kib",
740
+ "type": "integer"
741
+ },
742
+ "timeout_seconds": {
743
+ "anyOf": [
744
+ {
745
+ "exclusiveMinimum": 0,
746
+ "type": "number"
747
+ },
748
+ {
749
+ "type": "null"
750
+ }
751
+ ],
752
+ "default": null,
753
+ "title": "Timeout Seconds"
754
+ }
755
+ },
756
+ "title": "ComparisonOptions",
757
+ "type": "object"
758
+ },
759
+ "ComparisonPolicy": {
760
+ "additionalProperties": false,
761
+ "properties": {
762
+ "column_order": {
763
+ "default": "significant",
764
+ "enum": [
765
+ "significant",
766
+ "ignored"
767
+ ],
768
+ "title": "Column Order",
769
+ "type": "string"
770
+ },
771
+ "index": {
772
+ "default": "reject",
773
+ "enum": [
774
+ "reject",
775
+ "ignore"
776
+ ],
777
+ "title": "Index",
778
+ "type": "string"
779
+ },
780
+ "justification": {
781
+ "anyOf": [
782
+ {
783
+ "minLength": 1,
784
+ "type": "string"
785
+ },
786
+ {
787
+ "type": "null"
788
+ }
789
+ ],
790
+ "default": null,
791
+ "title": "Justification"
792
+ },
793
+ "physical_types": {
794
+ "default": "exact",
795
+ "enum": [
796
+ "exact",
797
+ "lossless"
798
+ ],
799
+ "title": "Physical Types",
800
+ "type": "string"
801
+ }
802
+ },
803
+ "title": "ComparisonPolicy",
804
+ "type": "object"
805
+ },
806
+ "ComparisonResult": {
807
+ "additionalProperties": false,
808
+ "properties": {
809
+ "applied_policies": {
810
+ "items": {
811
+ "$ref": "#/$defs/AppliedPolicy"
812
+ },
813
+ "title": "Applied Policies",
814
+ "type": "array"
815
+ },
816
+ "comparison_id": {
817
+ "minLength": 1,
818
+ "title": "Comparison Id",
819
+ "type": "string"
820
+ },
821
+ "complete": {
822
+ "title": "Complete",
823
+ "type": "boolean"
824
+ },
825
+ "contract_sha256": {
826
+ "pattern": "^[0-9a-f]{64}$",
827
+ "title": "Contract Sha256",
828
+ "type": "string"
829
+ },
830
+ "counts": {
831
+ "$ref": "#/$defs/ComparisonCounts"
832
+ },
833
+ "diagnostics": {
834
+ "items": {
835
+ "$ref": "#/$defs/ComparisonDiagnostic"
836
+ },
837
+ "title": "Diagnostics",
838
+ "type": "array"
839
+ },
840
+ "differences": {
841
+ "$ref": "#/$defs/ArtifactRef"
842
+ },
843
+ "elapsed_seconds": {
844
+ "minimum": 0,
845
+ "title": "Elapsed Seconds",
846
+ "type": "number"
847
+ },
848
+ "examples": {
849
+ "items": {
850
+ "$ref": "#/$defs/ComparisonDifference"
851
+ },
852
+ "title": "Examples",
853
+ "type": "array"
854
+ },
855
+ "left": {
856
+ "anyOf": [
857
+ {
858
+ "$ref": "#/$defs/ComparisonSource"
859
+ },
860
+ {
861
+ "type": "null"
862
+ }
863
+ ]
864
+ },
865
+ "options": {
866
+ "$ref": "#/$defs/ComparisonOptions"
867
+ },
868
+ "pair_checks": {
869
+ "minimum": 0,
870
+ "title": "Pair Checks",
871
+ "type": "integer"
872
+ },
873
+ "peak_disk_bytes": {
874
+ "minimum": 0,
875
+ "title": "Peak Disk Bytes",
876
+ "type": "integer"
877
+ },
878
+ "reference": {
879
+ "enum": [
880
+ "peer",
881
+ "expected"
882
+ ],
883
+ "title": "Reference",
884
+ "type": "string"
885
+ },
886
+ "right": {
887
+ "anyOf": [
888
+ {
889
+ "$ref": "#/$defs/ComparisonSource"
890
+ },
891
+ {
892
+ "type": "null"
893
+ }
894
+ ]
895
+ },
896
+ "schema_version": {
897
+ "const": "1.0",
898
+ "default": "1.0",
899
+ "title": "Schema Version",
900
+ "type": "string"
901
+ },
902
+ "scope": {
903
+ "const": "output_schema",
904
+ "default": "output_schema",
905
+ "title": "Scope",
906
+ "type": "string"
907
+ },
908
+ "selected_key": {
909
+ "anyOf": [
910
+ {
911
+ "type": "string"
912
+ },
913
+ {
914
+ "type": "null"
915
+ }
916
+ ],
917
+ "default": null,
918
+ "title": "Selected Key"
919
+ },
920
+ "spec": {
921
+ "$ref": "#/$defs/ComparisonSpec"
922
+ },
923
+ "spec_sha256": {
924
+ "pattern": "^[0-9a-f]{64}$",
925
+ "title": "Spec Sha256",
926
+ "type": "string"
927
+ },
928
+ "started_at": {
929
+ "minLength": 1,
930
+ "title": "Started At",
931
+ "type": "string"
932
+ },
933
+ "state": {
934
+ "enum": [
935
+ "equivalent",
936
+ "different",
937
+ "not_evaluable"
938
+ ],
939
+ "title": "State",
940
+ "type": "string"
941
+ },
942
+ "strategy": {
943
+ "enum": [
944
+ "pending",
945
+ "sequence",
946
+ "key",
947
+ "multiset",
948
+ "matching"
949
+ ],
950
+ "title": "Strategy",
951
+ "type": "string"
952
+ },
953
+ "versions": {
954
+ "items": {
955
+ "$ref": "#/$defs/VersionInfo"
956
+ },
957
+ "title": "Versions",
958
+ "type": "array"
959
+ },
960
+ "work_units": {
961
+ "minimum": 0,
962
+ "title": "Work Units",
963
+ "type": "integer"
964
+ }
965
+ },
966
+ "required": [
967
+ "comparison_id",
968
+ "spec",
969
+ "contract_sha256",
970
+ "spec_sha256",
971
+ "state",
972
+ "complete",
973
+ "reference",
974
+ "strategy",
975
+ "left",
976
+ "right",
977
+ "counts",
978
+ "options",
979
+ "applied_policies",
980
+ "diagnostics",
981
+ "examples",
982
+ "differences",
983
+ "started_at",
984
+ "elapsed_seconds",
985
+ "work_units",
986
+ "pair_checks",
987
+ "peak_disk_bytes",
988
+ "versions"
989
+ ],
990
+ "title": "ComparisonResult",
991
+ "type": "object"
992
+ },
993
+ "ComparisonSource": {
994
+ "additionalProperties": false,
995
+ "properties": {
996
+ "data": {
997
+ "$ref": "#/$defs/ArtifactRef"
998
+ },
999
+ "execution": {
1000
+ "anyOf": [
1001
+ {
1002
+ "$ref": "#/$defs/ExecutionResult"
1003
+ },
1004
+ {
1005
+ "type": "null"
1006
+ }
1007
+ ],
1008
+ "default": null
1009
+ },
1010
+ "observed_schema": {
1011
+ "default": [],
1012
+ "items": {
1013
+ "maxItems": 2,
1014
+ "minItems": 2,
1015
+ "prefixItems": [
1016
+ {
1017
+ "type": "string"
1018
+ },
1019
+ {
1020
+ "type": "string"
1021
+ }
1022
+ ],
1023
+ "type": "array"
1024
+ },
1025
+ "title": "Observed Schema",
1026
+ "type": "array"
1027
+ },
1028
+ "table": {
1029
+ "anyOf": [
1030
+ {
1031
+ "$ref": "#/$defs/TableArtifact"
1032
+ },
1033
+ {
1034
+ "type": "null"
1035
+ }
1036
+ ],
1037
+ "default": null
1038
+ }
1039
+ },
1040
+ "required": [
1041
+ "data"
1042
+ ],
1043
+ "title": "ComparisonSource",
1044
+ "type": "object"
1045
+ },
1046
+ "ComparisonSpec": {
1047
+ "additionalProperties": false,
1048
+ "properties": {
1049
+ "contract": {
1050
+ "$ref": "#/$defs/Contract"
1051
+ },
1052
+ "policy": {
1053
+ "$ref": "#/$defs/ComparisonPolicy"
1054
+ },
1055
+ "schema_version": {
1056
+ "const": "1.0",
1057
+ "default": "1.0",
1058
+ "title": "Schema Version",
1059
+ "type": "string"
1060
+ }
1061
+ },
1062
+ "required": [
1063
+ "contract"
1064
+ ],
1065
+ "title": "ComparisonSpec",
1066
+ "type": "object"
1067
+ },
1068
+ "ComparisonValue": {
1069
+ "additionalProperties": false,
1070
+ "description": "Lossless scalar evidence. Numeric text; dates/instants use integer epochs.",
1071
+ "properties": {
1072
+ "kind": {
1073
+ "enum": [
1074
+ "null",
1075
+ "nan",
1076
+ "infinity",
1077
+ "boolean",
1078
+ "integer",
1079
+ "string",
1080
+ "decimal",
1081
+ "float",
1082
+ "date",
1083
+ "timestamp"
1084
+ ],
1085
+ "title": "Kind",
1086
+ "type": "string"
1087
+ },
1088
+ "timezone": {
1089
+ "anyOf": [
1090
+ {
1091
+ "type": "string"
1092
+ },
1093
+ {
1094
+ "type": "null"
1095
+ }
1096
+ ],
1097
+ "default": null,
1098
+ "title": "Timezone"
1099
+ },
1100
+ "unit": {
1101
+ "anyOf": [
1102
+ {
1103
+ "enum": [
1104
+ "day",
1105
+ "s",
1106
+ "ms",
1107
+ "us",
1108
+ "ns"
1109
+ ],
1110
+ "type": "string"
1111
+ },
1112
+ {
1113
+ "type": "null"
1114
+ }
1115
+ ],
1116
+ "default": null,
1117
+ "title": "Unit"
1118
+ },
1119
+ "value": {
1120
+ "anyOf": [
1121
+ {
1122
+ "type": "string"
1123
+ },
1124
+ {
1125
+ "type": "null"
1126
+ }
1127
+ ],
1128
+ "default": null,
1129
+ "title": "Value"
1130
+ }
1131
+ },
1132
+ "required": [
1133
+ "kind"
1134
+ ],
1135
+ "title": "ComparisonValue",
1136
+ "type": "object"
1137
+ },
1138
+ "ComponentDecision": {
1139
+ "additionalProperties": false,
1140
+ "properties": {
1141
+ "complete": {
1142
+ "title": "Complete",
1143
+ "type": "boolean"
1144
+ },
1145
+ "decision": {
1146
+ "enum": [
1147
+ "alert",
1148
+ "no_alert",
1149
+ "not_evaluable"
1150
+ ],
1151
+ "title": "Decision",
1152
+ "type": "string"
1153
+ },
1154
+ "reason": {
1155
+ "anyOf": [
1156
+ {
1157
+ "minLength": 1,
1158
+ "type": "string"
1159
+ },
1160
+ {
1161
+ "type": "null"
1162
+ }
1163
+ ],
1164
+ "default": null,
1165
+ "title": "Reason"
1166
+ }
1167
+ },
1168
+ "required": [
1169
+ "decision",
1170
+ "complete"
1171
+ ],
1172
+ "title": "ComponentDecision",
1173
+ "type": "object"
1174
+ },
1175
+ "Contract": {
1176
+ "additionalProperties": false,
1177
+ "properties": {
1178
+ "contract_id": {
1179
+ "minLength": 1,
1180
+ "title": "Contract Id",
1181
+ "type": "string"
1182
+ },
1183
+ "family": {
1184
+ "enum": [
1185
+ "nulls_types",
1186
+ "joins",
1187
+ "duplicates_order",
1188
+ "aggregations",
1189
+ "dates"
1190
+ ],
1191
+ "title": "Family",
1192
+ "type": "string"
1193
+ },
1194
+ "inputs": {
1195
+ "items": {
1196
+ "$ref": "#/$defs/TableSpec"
1197
+ },
1198
+ "minItems": 1,
1199
+ "title": "Inputs",
1200
+ "type": "array"
1201
+ },
1202
+ "output": {
1203
+ "$ref": "#/$defs/TableSpec"
1204
+ },
1205
+ "preconditions": {
1206
+ "items": {
1207
+ "$ref": "#/$defs/PreconditionSpec"
1208
+ },
1209
+ "title": "Preconditions",
1210
+ "type": "array"
1211
+ },
1212
+ "revision": {
1213
+ "exclusiveMinimum": 0,
1214
+ "title": "Revision",
1215
+ "type": "integer"
1216
+ },
1217
+ "rules": {
1218
+ "items": {
1219
+ "$ref": "#/$defs/RuleSpec"
1220
+ },
1221
+ "title": "Rules",
1222
+ "type": "array"
1223
+ },
1224
+ "schema_version": {
1225
+ "const": "1.0",
1226
+ "title": "Schema Version",
1227
+ "type": "string"
1228
+ }
1229
+ },
1230
+ "required": [
1231
+ "schema_version",
1232
+ "contract_id",
1233
+ "revision",
1234
+ "family",
1235
+ "inputs",
1236
+ "output",
1237
+ "preconditions",
1238
+ "rules"
1239
+ ],
1240
+ "title": "Contract",
1241
+ "type": "object"
1242
+ },
1243
+ "DatePolicy": {
1244
+ "additionalProperties": false,
1245
+ "properties": {
1246
+ "closed": {
1247
+ "enum": [
1248
+ "both",
1249
+ "left",
1250
+ "right",
1251
+ "neither"
1252
+ ],
1253
+ "title": "Closed",
1254
+ "type": "string"
1255
+ },
1256
+ "granularity": {
1257
+ "const": "day",
1258
+ "default": "day",
1259
+ "title": "Granularity",
1260
+ "type": "string"
1261
+ },
1262
+ "kind": {
1263
+ "const": "date",
1264
+ "default": "date",
1265
+ "title": "Kind",
1266
+ "type": "string"
1267
+ },
1268
+ "lower": {
1269
+ "anyOf": [
1270
+ {
1271
+ "$ref": "#/$defs/DateValue"
1272
+ },
1273
+ {
1274
+ "type": "null"
1275
+ }
1276
+ ],
1277
+ "default": null
1278
+ },
1279
+ "upper": {
1280
+ "anyOf": [
1281
+ {
1282
+ "$ref": "#/$defs/DateValue"
1283
+ },
1284
+ {
1285
+ "type": "null"
1286
+ }
1287
+ ],
1288
+ "default": null
1289
+ }
1290
+ },
1291
+ "required": [
1292
+ "closed"
1293
+ ],
1294
+ "title": "DatePolicy",
1295
+ "type": "object"
1296
+ },
1297
+ "DateType": {
1298
+ "additionalProperties": false,
1299
+ "properties": {
1300
+ "kind": {
1301
+ "const": "date",
1302
+ "default": "date",
1303
+ "title": "Kind",
1304
+ "type": "string"
1305
+ }
1306
+ },
1307
+ "title": "DateType",
1308
+ "type": "object"
1309
+ },
1310
+ "DateValue": {
1311
+ "additionalProperties": false,
1312
+ "properties": {
1313
+ "kind": {
1314
+ "const": "date",
1315
+ "default": "date",
1316
+ "title": "Kind",
1317
+ "type": "string"
1318
+ },
1319
+ "value": {
1320
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
1321
+ "title": "Value",
1322
+ "type": "string"
1323
+ }
1324
+ },
1325
+ "required": [
1326
+ "value"
1327
+ ],
1328
+ "title": "DateValue",
1329
+ "type": "object"
1330
+ },
1331
+ "DecimalType": {
1332
+ "additionalProperties": false,
1333
+ "properties": {
1334
+ "kind": {
1335
+ "const": "decimal",
1336
+ "default": "decimal",
1337
+ "title": "Kind",
1338
+ "type": "string"
1339
+ },
1340
+ "precision": {
1341
+ "maximum": 76,
1342
+ "minimum": 1,
1343
+ "title": "Precision",
1344
+ "type": "integer"
1345
+ },
1346
+ "scale": {
1347
+ "minimum": 0,
1348
+ "title": "Scale",
1349
+ "type": "integer"
1350
+ }
1351
+ },
1352
+ "required": [
1353
+ "precision",
1354
+ "scale"
1355
+ ],
1356
+ "title": "DecimalType",
1357
+ "type": "object"
1358
+ },
1359
+ "DecimalValue": {
1360
+ "additionalProperties": false,
1361
+ "properties": {
1362
+ "kind": {
1363
+ "const": "decimal",
1364
+ "default": "decimal",
1365
+ "title": "Kind",
1366
+ "type": "string"
1367
+ },
1368
+ "value": {
1369
+ "pattern": "^[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$",
1370
+ "title": "Value",
1371
+ "type": "string"
1372
+ }
1373
+ },
1374
+ "required": [
1375
+ "value"
1376
+ ],
1377
+ "title": "DecimalValue",
1378
+ "type": "object"
1379
+ },
1380
+ "EngineCapabilities": {
1381
+ "additionalProperties": false,
1382
+ "properties": {
1383
+ "cancellation": {
1384
+ "enum": [
1385
+ "cooperative",
1386
+ "interrupt_query"
1387
+ ],
1388
+ "title": "Cancellation",
1389
+ "type": "string"
1390
+ },
1391
+ "decimal_precision": {
1392
+ "maximum": 76,
1393
+ "minimum": 1,
1394
+ "title": "Decimal Precision",
1395
+ "type": "integer"
1396
+ },
1397
+ "engine": {
1398
+ "minLength": 1,
1399
+ "title": "Engine",
1400
+ "type": "string"
1401
+ },
1402
+ "lazy": {
1403
+ "title": "Lazy",
1404
+ "type": "boolean"
1405
+ },
1406
+ "required_packages": {
1407
+ "default": [],
1408
+ "items": {
1409
+ "minLength": 1,
1410
+ "type": "string"
1411
+ },
1412
+ "title": "Required Packages",
1413
+ "type": "array"
1414
+ },
1415
+ "resource_controls": {
1416
+ "items": {
1417
+ "minLength": 1,
1418
+ "type": "string"
1419
+ },
1420
+ "title": "Resource Controls",
1421
+ "type": "array"
1422
+ },
1423
+ "timestamp_units": {
1424
+ "items": {
1425
+ "enum": [
1426
+ "s",
1427
+ "ms",
1428
+ "us",
1429
+ "ns"
1430
+ ],
1431
+ "type": "string"
1432
+ },
1433
+ "title": "Timestamp Units",
1434
+ "type": "array"
1435
+ },
1436
+ "zoned_timestamp_units": {
1437
+ "items": {
1438
+ "enum": [
1439
+ "s",
1440
+ "ms",
1441
+ "us",
1442
+ "ns"
1443
+ ],
1444
+ "type": "string"
1445
+ },
1446
+ "title": "Zoned Timestamp Units",
1447
+ "type": "array"
1448
+ }
1449
+ },
1450
+ "required": [
1451
+ "engine",
1452
+ "decimal_precision",
1453
+ "timestamp_units",
1454
+ "zoned_timestamp_units",
1455
+ "lazy",
1456
+ "cancellation",
1457
+ "resource_controls"
1458
+ ],
1459
+ "title": "EngineCapabilities",
1460
+ "type": "object"
1461
+ },
1462
+ "ExecutionOptions": {
1463
+ "additionalProperties": false,
1464
+ "properties": {
1465
+ "duckdb_memory_mb": {
1466
+ "default": 512,
1467
+ "exclusiveMinimum": 0,
1468
+ "title": "Duckdb Memory Mb",
1469
+ "type": "integer"
1470
+ },
1471
+ "duckdb_threads": {
1472
+ "default": 1,
1473
+ "exclusiveMinimum": 0,
1474
+ "title": "Duckdb Threads",
1475
+ "type": "integer"
1476
+ },
1477
+ "duckdb_timezone": {
1478
+ "default": "UTC",
1479
+ "minLength": 1,
1480
+ "title": "Duckdb Timezone",
1481
+ "type": "string"
1482
+ },
1483
+ "max_input_rows": {
1484
+ "anyOf": [
1485
+ {
1486
+ "minimum": 0,
1487
+ "type": "integer"
1488
+ },
1489
+ {
1490
+ "type": "null"
1491
+ }
1492
+ ],
1493
+ "default": null,
1494
+ "title": "Max Input Rows"
1495
+ },
1496
+ "max_output_rows": {
1497
+ "anyOf": [
1498
+ {
1499
+ "minimum": 0,
1500
+ "type": "integer"
1501
+ },
1502
+ {
1503
+ "type": "null"
1504
+ }
1505
+ ],
1506
+ "default": null,
1507
+ "title": "Max Output Rows"
1508
+ },
1509
+ "max_transport_bytes": {
1510
+ "anyOf": [
1511
+ {
1512
+ "exclusiveMinimum": 0,
1513
+ "type": "integer"
1514
+ },
1515
+ {
1516
+ "type": "null"
1517
+ }
1518
+ ],
1519
+ "default": null,
1520
+ "title": "Max Transport Bytes"
1521
+ },
1522
+ "timeout_seconds": {
1523
+ "anyOf": [
1524
+ {
1525
+ "exclusiveMinimum": 0,
1526
+ "type": "number"
1527
+ },
1528
+ {
1529
+ "type": "null"
1530
+ }
1531
+ ],
1532
+ "default": null,
1533
+ "title": "Timeout Seconds"
1534
+ }
1535
+ },
1536
+ "title": "ExecutionOptions",
1537
+ "type": "object"
1538
+ },
1539
+ "ExecutionPlan": {
1540
+ "additionalProperties": false,
1541
+ "properties": {
1542
+ "contract": {
1543
+ "$ref": "#/$defs/Contract"
1544
+ },
1545
+ "engine": {
1546
+ "minLength": 1,
1547
+ "title": "Engine",
1548
+ "type": "string"
1549
+ },
1550
+ "options": {
1551
+ "$ref": "#/$defs/ExecutionOptions"
1552
+ },
1553
+ "parameters": {
1554
+ "default": [],
1555
+ "items": {
1556
+ "$ref": "#/$defs/Parameter"
1557
+ },
1558
+ "title": "Parameters",
1559
+ "type": "array"
1560
+ },
1561
+ "transformation_id": {
1562
+ "minLength": 1,
1563
+ "title": "Transformation Id",
1564
+ "type": "string"
1565
+ },
1566
+ "transformation_revision": {
1567
+ "default": 1,
1568
+ "exclusiveMinimum": 0,
1569
+ "title": "Transformation Revision",
1570
+ "type": "integer"
1571
+ }
1572
+ },
1573
+ "required": [
1574
+ "contract",
1575
+ "engine",
1576
+ "transformation_id"
1577
+ ],
1578
+ "title": "ExecutionPlan",
1579
+ "type": "object"
1580
+ },
1581
+ "ExecutionProblem": {
1582
+ "additionalProperties": false,
1583
+ "properties": {
1584
+ "code": {
1585
+ "minLength": 1,
1586
+ "title": "Code",
1587
+ "type": "string"
1588
+ },
1589
+ "exception_type": {
1590
+ "minLength": 1,
1591
+ "title": "Exception Type",
1592
+ "type": "string"
1593
+ },
1594
+ "message": {
1595
+ "minLength": 1,
1596
+ "title": "Message",
1597
+ "type": "string"
1598
+ },
1599
+ "stage": {
1600
+ "minLength": 1,
1601
+ "title": "Stage",
1602
+ "type": "string"
1603
+ }
1604
+ },
1605
+ "required": [
1606
+ "code",
1607
+ "stage",
1608
+ "exception_type",
1609
+ "message"
1610
+ ],
1611
+ "title": "ExecutionProblem",
1612
+ "type": "object"
1613
+ },
1614
+ "ExecutionResult": {
1615
+ "additionalProperties": false,
1616
+ "properties": {
1617
+ "capabilities": {
1618
+ "$ref": "#/$defs/EngineCapabilities"
1619
+ },
1620
+ "contract_sha256": {
1621
+ "pattern": "^[0-9a-f]{64}$",
1622
+ "title": "Contract Sha256",
1623
+ "type": "string"
1624
+ },
1625
+ "effective_configuration": {
1626
+ "items": {
1627
+ "$ref": "#/$defs/Parameter"
1628
+ },
1629
+ "title": "Effective Configuration",
1630
+ "type": "array"
1631
+ },
1632
+ "elapsed_seconds": {
1633
+ "minimum": 0,
1634
+ "title": "Elapsed Seconds",
1635
+ "type": "number"
1636
+ },
1637
+ "execution_id": {
1638
+ "minLength": 1,
1639
+ "title": "Execution Id",
1640
+ "type": "string"
1641
+ },
1642
+ "finished_at": {
1643
+ "minLength": 1,
1644
+ "title": "Finished At",
1645
+ "type": "string"
1646
+ },
1647
+ "implementation_version": {
1648
+ "anyOf": [
1649
+ {
1650
+ "minLength": 1,
1651
+ "type": "string"
1652
+ },
1653
+ {
1654
+ "type": "null"
1655
+ }
1656
+ ],
1657
+ "title": "Implementation Version"
1658
+ },
1659
+ "inputs": {
1660
+ "items": {
1661
+ "$ref": "#/$defs/TableArtifact"
1662
+ },
1663
+ "title": "Inputs",
1664
+ "type": "array"
1665
+ },
1666
+ "output": {
1667
+ "anyOf": [
1668
+ {
1669
+ "$ref": "#/$defs/TableArtifact"
1670
+ },
1671
+ {
1672
+ "type": "null"
1673
+ }
1674
+ ]
1675
+ },
1676
+ "plan": {
1677
+ "$ref": "#/$defs/ExecutionPlan"
1678
+ },
1679
+ "problem": {
1680
+ "anyOf": [
1681
+ {
1682
+ "$ref": "#/$defs/ExecutionProblem"
1683
+ },
1684
+ {
1685
+ "type": "null"
1686
+ }
1687
+ ]
1688
+ },
1689
+ "run_id": {
1690
+ "minLength": 1,
1691
+ "title": "Run Id",
1692
+ "type": "string"
1693
+ },
1694
+ "schema_version": {
1695
+ "const": "1.0",
1696
+ "default": "1.0",
1697
+ "title": "Schema Version",
1698
+ "type": "string"
1699
+ },
1700
+ "started_at": {
1701
+ "minLength": 1,
1702
+ "title": "Started At",
1703
+ "type": "string"
1704
+ },
1705
+ "state": {
1706
+ "enum": [
1707
+ "completed",
1708
+ "invalid_input",
1709
+ "failed",
1710
+ "timeout",
1711
+ "resource_exhausted",
1712
+ "cancelled"
1713
+ ],
1714
+ "title": "State",
1715
+ "type": "string"
1716
+ },
1717
+ "timings": {
1718
+ "items": {
1719
+ "$ref": "#/$defs/StageTiming"
1720
+ },
1721
+ "title": "Timings",
1722
+ "type": "array"
1723
+ },
1724
+ "versions": {
1725
+ "items": {
1726
+ "$ref": "#/$defs/VersionInfo"
1727
+ },
1728
+ "title": "Versions",
1729
+ "type": "array"
1730
+ }
1731
+ },
1732
+ "required": [
1733
+ "run_id",
1734
+ "execution_id",
1735
+ "plan",
1736
+ "contract_sha256",
1737
+ "implementation_version",
1738
+ "state",
1739
+ "started_at",
1740
+ "finished_at",
1741
+ "elapsed_seconds",
1742
+ "timings",
1743
+ "versions",
1744
+ "capabilities",
1745
+ "effective_configuration",
1746
+ "inputs",
1747
+ "output",
1748
+ "problem"
1749
+ ],
1750
+ "title": "ExecutionResult",
1751
+ "type": "object"
1752
+ },
1753
+ "FloatType": {
1754
+ "additionalProperties": false,
1755
+ "properties": {
1756
+ "bits": {
1757
+ "enum": [
1758
+ 32,
1759
+ 64
1760
+ ],
1761
+ "title": "Bits",
1762
+ "type": "integer"
1763
+ },
1764
+ "kind": {
1765
+ "const": "float",
1766
+ "default": "float",
1767
+ "title": "Kind",
1768
+ "type": "string"
1769
+ }
1770
+ },
1771
+ "required": [
1772
+ "bits"
1773
+ ],
1774
+ "title": "FloatType",
1775
+ "type": "object"
1776
+ },
1777
+ "FloatValue": {
1778
+ "additionalProperties": false,
1779
+ "properties": {
1780
+ "kind": {
1781
+ "const": "float",
1782
+ "default": "float",
1783
+ "title": "Kind",
1784
+ "type": "string"
1785
+ },
1786
+ "value": {
1787
+ "title": "Value",
1788
+ "type": "number"
1789
+ }
1790
+ },
1791
+ "required": [
1792
+ "value"
1793
+ ],
1794
+ "title": "FloatValue",
1795
+ "type": "object"
1796
+ },
1797
+ "GlobalKeyScope": {
1798
+ "additionalProperties": false,
1799
+ "properties": {
1800
+ "kind": {
1801
+ "const": "global",
1802
+ "default": "global",
1803
+ "title": "Kind",
1804
+ "type": "string"
1805
+ }
1806
+ },
1807
+ "title": "GlobalKeyScope",
1808
+ "type": "object"
1809
+ },
1810
+ "HybridDecision": {
1811
+ "additionalProperties": false,
1812
+ "properties": {
1813
+ "m": {
1814
+ "$ref": "#/$defs/ComponentDecision"
1815
+ },
1816
+ "r": {
1817
+ "$ref": "#/$defs/ComponentDecision"
1818
+ },
1819
+ "result": {
1820
+ "$ref": "#/$defs/ComponentDecision"
1821
+ },
1822
+ "schema_version": {
1823
+ "const": "1.0",
1824
+ "default": "1.0",
1825
+ "title": "Schema Version",
1826
+ "type": "string"
1827
+ }
1828
+ },
1829
+ "required": [
1830
+ "r",
1831
+ "m",
1832
+ "result"
1833
+ ],
1834
+ "title": "HybridDecision",
1835
+ "type": "object"
1836
+ },
1837
+ "IgnoredOrder": {
1838
+ "additionalProperties": false,
1839
+ "properties": {
1840
+ "kind": {
1841
+ "const": "ignored",
1842
+ "default": "ignored",
1843
+ "title": "Kind",
1844
+ "type": "string"
1845
+ }
1846
+ },
1847
+ "title": "IgnoredOrder",
1848
+ "type": "object"
1849
+ },
1850
+ "InfinityValue": {
1851
+ "additionalProperties": false,
1852
+ "properties": {
1853
+ "kind": {
1854
+ "const": "infinity",
1855
+ "default": "infinity",
1856
+ "title": "Kind",
1857
+ "type": "string"
1858
+ },
1859
+ "sign": {
1860
+ "enum": [
1861
+ "positive",
1862
+ "negative"
1863
+ ],
1864
+ "title": "Sign",
1865
+ "type": "string"
1866
+ }
1867
+ },
1868
+ "required": [
1869
+ "sign"
1870
+ ],
1871
+ "title": "InfinityValue",
1872
+ "type": "object"
1873
+ },
1874
+ "IntegerType": {
1875
+ "additionalProperties": false,
1876
+ "properties": {
1877
+ "bits": {
1878
+ "enum": [
1879
+ 8,
1880
+ 16,
1881
+ 32,
1882
+ 64
1883
+ ],
1884
+ "title": "Bits",
1885
+ "type": "integer"
1886
+ },
1887
+ "kind": {
1888
+ "const": "integer",
1889
+ "default": "integer",
1890
+ "title": "Kind",
1891
+ "type": "string"
1892
+ },
1893
+ "signed": {
1894
+ "title": "Signed",
1895
+ "type": "boolean"
1896
+ }
1897
+ },
1898
+ "required": [
1899
+ "bits",
1900
+ "signed"
1901
+ ],
1902
+ "title": "IntegerType",
1903
+ "type": "object"
1904
+ },
1905
+ "IntegerValue": {
1906
+ "additionalProperties": false,
1907
+ "properties": {
1908
+ "kind": {
1909
+ "const": "integer",
1910
+ "default": "integer",
1911
+ "title": "Kind",
1912
+ "type": "string"
1913
+ },
1914
+ "value": {
1915
+ "title": "Value",
1916
+ "type": "integer"
1917
+ }
1918
+ },
1919
+ "required": [
1920
+ "value"
1921
+ ],
1922
+ "title": "IntegerValue",
1923
+ "type": "object"
1924
+ },
1925
+ "JoinCheck": {
1926
+ "additionalProperties": false,
1927
+ "properties": {
1928
+ "kind": {
1929
+ "const": "join",
1930
+ "default": "join",
1931
+ "title": "Kind",
1932
+ "type": "string"
1933
+ },
1934
+ "left_columns": {
1935
+ "items": {
1936
+ "minLength": 1,
1937
+ "type": "string"
1938
+ },
1939
+ "minItems": 1,
1940
+ "title": "Left Columns",
1941
+ "type": "array"
1942
+ },
1943
+ "left_table": {
1944
+ "minLength": 1,
1945
+ "title": "Left Table",
1946
+ "type": "string"
1947
+ },
1948
+ "relationship": {
1949
+ "enum": [
1950
+ "one_to_one",
1951
+ "one_to_many",
1952
+ "many_to_one",
1953
+ "many_to_many"
1954
+ ],
1955
+ "title": "Relationship",
1956
+ "type": "string"
1957
+ },
1958
+ "right_columns": {
1959
+ "items": {
1960
+ "minLength": 1,
1961
+ "type": "string"
1962
+ },
1963
+ "minItems": 1,
1964
+ "title": "Right Columns",
1965
+ "type": "array"
1966
+ },
1967
+ "right_table": {
1968
+ "minLength": 1,
1969
+ "title": "Right Table",
1970
+ "type": "string"
1971
+ },
1972
+ "unmatched": {
1973
+ "enum": [
1974
+ "allow",
1975
+ "reject"
1976
+ ],
1977
+ "title": "Unmatched",
1978
+ "type": "string"
1979
+ }
1980
+ },
1981
+ "required": [
1982
+ "left_table",
1983
+ "right_table",
1984
+ "left_columns",
1985
+ "right_columns",
1986
+ "relationship",
1987
+ "unmatched"
1988
+ ],
1989
+ "title": "JoinCheck",
1990
+ "type": "object"
1991
+ },
1992
+ "KeyCheck": {
1993
+ "additionalProperties": false,
1994
+ "properties": {
1995
+ "key": {
1996
+ "minLength": 1,
1997
+ "title": "Key",
1998
+ "type": "string"
1999
+ },
2000
+ "kind": {
2001
+ "const": "key",
2002
+ "default": "key",
2003
+ "title": "Kind",
2004
+ "type": "string"
2005
+ },
2006
+ "table": {
2007
+ "minLength": 1,
2008
+ "title": "Table",
2009
+ "type": "string"
2010
+ }
2011
+ },
2012
+ "required": [
2013
+ "table",
2014
+ "key"
2015
+ ],
2016
+ "title": "KeyCheck",
2017
+ "type": "object"
2018
+ },
2019
+ "KeySpec": {
2020
+ "additionalProperties": false,
2021
+ "properties": {
2022
+ "columns": {
2023
+ "items": {
2024
+ "minLength": 1,
2025
+ "type": "string"
2026
+ },
2027
+ "minItems": 1,
2028
+ "title": "Columns",
2029
+ "type": "array"
2030
+ },
2031
+ "incomplete": {
2032
+ "enum": [
2033
+ "reject",
2034
+ "allow"
2035
+ ],
2036
+ "title": "Incomplete",
2037
+ "type": "string"
2038
+ },
2039
+ "name": {
2040
+ "minLength": 1,
2041
+ "title": "Name",
2042
+ "type": "string"
2043
+ },
2044
+ "scope": {
2045
+ "discriminator": {
2046
+ "mapping": {
2047
+ "columns": "#/$defs/ColumnKeyScope",
2048
+ "global": "#/$defs/GlobalKeyScope",
2049
+ "table": "#/$defs/TableKeyScope"
2050
+ },
2051
+ "propertyName": "kind"
2052
+ },
2053
+ "oneOf": [
2054
+ {
2055
+ "$ref": "#/$defs/GlobalKeyScope"
2056
+ },
2057
+ {
2058
+ "$ref": "#/$defs/TableKeyScope"
2059
+ },
2060
+ {
2061
+ "$ref": "#/$defs/ColumnKeyScope"
2062
+ }
2063
+ ],
2064
+ "title": "Scope"
2065
+ },
2066
+ "unique": {
2067
+ "title": "Unique",
2068
+ "type": "boolean"
2069
+ }
2070
+ },
2071
+ "required": [
2072
+ "name",
2073
+ "columns",
2074
+ "unique",
2075
+ "incomplete",
2076
+ "scope"
2077
+ ],
2078
+ "title": "KeySpec",
2079
+ "type": "object"
2080
+ },
2081
+ "NaNPolicy": {
2082
+ "additionalProperties": false,
2083
+ "properties": {
2084
+ "handling": {
2085
+ "enum": [
2086
+ "forbid",
2087
+ "distinct",
2088
+ "as_null"
2089
+ ],
2090
+ "title": "Handling",
2091
+ "type": "string"
2092
+ },
2093
+ "justification": {
2094
+ "anyOf": [
2095
+ {
2096
+ "minLength": 1,
2097
+ "type": "string"
2098
+ },
2099
+ {
2100
+ "type": "null"
2101
+ }
2102
+ ],
2103
+ "default": null,
2104
+ "title": "Justification"
2105
+ }
2106
+ },
2107
+ "required": [
2108
+ "handling"
2109
+ ],
2110
+ "title": "NaNPolicy",
2111
+ "type": "object"
2112
+ },
2113
+ "NaNValue": {
2114
+ "additionalProperties": false,
2115
+ "properties": {
2116
+ "kind": {
2117
+ "const": "nan",
2118
+ "default": "nan",
2119
+ "title": "Kind",
2120
+ "type": "string"
2121
+ }
2122
+ },
2123
+ "title": "NaNValue",
2124
+ "type": "object"
2125
+ },
2126
+ "NullPolicy": {
2127
+ "additionalProperties": false,
2128
+ "properties": {
2129
+ "justification": {
2130
+ "anyOf": [
2131
+ {
2132
+ "minLength": 1,
2133
+ "type": "string"
2134
+ },
2135
+ {
2136
+ "type": "null"
2137
+ }
2138
+ ],
2139
+ "default": null,
2140
+ "title": "Justification"
2141
+ },
2142
+ "representations": {
2143
+ "items": {
2144
+ "enum": [
2145
+ "null",
2146
+ "empty_string",
2147
+ "zero"
2148
+ ],
2149
+ "type": "string"
2150
+ },
2151
+ "minItems": 1,
2152
+ "title": "Representations",
2153
+ "type": "array"
2154
+ }
2155
+ },
2156
+ "required": [
2157
+ "representations"
2158
+ ],
2159
+ "title": "NullPolicy",
2160
+ "type": "object"
2161
+ },
2162
+ "NullValue": {
2163
+ "additionalProperties": false,
2164
+ "properties": {
2165
+ "kind": {
2166
+ "const": "null",
2167
+ "default": "null",
2168
+ "title": "Kind",
2169
+ "type": "string"
2170
+ }
2171
+ },
2172
+ "title": "NullValue",
2173
+ "type": "object"
2174
+ },
2175
+ "NumericPolicy": {
2176
+ "additionalProperties": false,
2177
+ "properties": {
2178
+ "comparison": {
2179
+ "enum": [
2180
+ "exact",
2181
+ "approximate"
2182
+ ],
2183
+ "title": "Comparison",
2184
+ "type": "string"
2185
+ },
2186
+ "rounding": {
2187
+ "anyOf": [
2188
+ {
2189
+ "enum": [
2190
+ "ROUND_DOWN",
2191
+ "ROUND_UP",
2192
+ "ROUND_CEILING",
2193
+ "ROUND_FLOOR",
2194
+ "ROUND_HALF_UP",
2195
+ "ROUND_HALF_DOWN",
2196
+ "ROUND_HALF_EVEN",
2197
+ "ROUND_05UP"
2198
+ ],
2199
+ "type": "string"
2200
+ },
2201
+ {
2202
+ "type": "null"
2203
+ }
2204
+ ],
2205
+ "default": null,
2206
+ "title": "Rounding"
2207
+ },
2208
+ "rounding_justification": {
2209
+ "anyOf": [
2210
+ {
2211
+ "minLength": 1,
2212
+ "type": "string"
2213
+ },
2214
+ {
2215
+ "type": "null"
2216
+ }
2217
+ ],
2218
+ "default": null,
2219
+ "title": "Rounding Justification"
2220
+ },
2221
+ "tolerance": {
2222
+ "anyOf": [
2223
+ {
2224
+ "$ref": "#/$defs/Tolerance"
2225
+ },
2226
+ {
2227
+ "type": "null"
2228
+ }
2229
+ ],
2230
+ "default": null
2231
+ },
2232
+ "unit": {
2233
+ "minLength": 1,
2234
+ "title": "Unit",
2235
+ "type": "string"
2236
+ }
2237
+ },
2238
+ "required": [
2239
+ "comparison",
2240
+ "unit"
2241
+ ],
2242
+ "title": "NumericPolicy",
2243
+ "type": "object"
2244
+ },
2245
+ "OrderCheck": {
2246
+ "additionalProperties": false,
2247
+ "properties": {
2248
+ "columns": {
2249
+ "items": {
2250
+ "minLength": 1,
2251
+ "type": "string"
2252
+ },
2253
+ "minItems": 1,
2254
+ "title": "Columns",
2255
+ "type": "array"
2256
+ },
2257
+ "kind": {
2258
+ "const": "order",
2259
+ "default": "order",
2260
+ "title": "Kind",
2261
+ "type": "string"
2262
+ },
2263
+ "table": {
2264
+ "minLength": 1,
2265
+ "title": "Table",
2266
+ "type": "string"
2267
+ }
2268
+ },
2269
+ "required": [
2270
+ "table",
2271
+ "columns"
2272
+ ],
2273
+ "title": "OrderCheck",
2274
+ "type": "object"
2275
+ },
2276
+ "Parameter": {
2277
+ "additionalProperties": false,
2278
+ "properties": {
2279
+ "name": {
2280
+ "minLength": 1,
2281
+ "title": "Name",
2282
+ "type": "string"
2283
+ },
2284
+ "value": {
2285
+ "discriminator": {
2286
+ "mapping": {
2287
+ "boolean": "#/$defs/BooleanValue",
2288
+ "date": "#/$defs/DateValue",
2289
+ "decimal": "#/$defs/DecimalValue",
2290
+ "float": "#/$defs/FloatValue",
2291
+ "infinity": "#/$defs/InfinityValue",
2292
+ "integer": "#/$defs/IntegerValue",
2293
+ "nan": "#/$defs/NaNValue",
2294
+ "null": "#/$defs/NullValue",
2295
+ "string": "#/$defs/StringValue",
2296
+ "timestamp": "#/$defs/TimestampValue"
2297
+ },
2298
+ "propertyName": "kind"
2299
+ },
2300
+ "oneOf": [
2301
+ {
2302
+ "$ref": "#/$defs/NullValue"
2303
+ },
2304
+ {
2305
+ "$ref": "#/$defs/NaNValue"
2306
+ },
2307
+ {
2308
+ "$ref": "#/$defs/InfinityValue"
2309
+ },
2310
+ {
2311
+ "$ref": "#/$defs/BooleanValue"
2312
+ },
2313
+ {
2314
+ "$ref": "#/$defs/IntegerValue"
2315
+ },
2316
+ {
2317
+ "$ref": "#/$defs/StringValue"
2318
+ },
2319
+ {
2320
+ "$ref": "#/$defs/DecimalValue"
2321
+ },
2322
+ {
2323
+ "$ref": "#/$defs/FloatValue"
2324
+ },
2325
+ {
2326
+ "$ref": "#/$defs/DateValue"
2327
+ },
2328
+ {
2329
+ "$ref": "#/$defs/TimestampValue"
2330
+ }
2331
+ ],
2332
+ "title": "Value"
2333
+ }
2334
+ },
2335
+ "required": [
2336
+ "name",
2337
+ "value"
2338
+ ],
2339
+ "title": "Parameter",
2340
+ "type": "object"
2341
+ },
2342
+ "PhysicalColumn": {
2343
+ "additionalProperties": false,
2344
+ "properties": {
2345
+ "arrow_type": {
2346
+ "minLength": 1,
2347
+ "title": "Arrow Type",
2348
+ "type": "string"
2349
+ },
2350
+ "engine_type": {
2351
+ "minLength": 1,
2352
+ "title": "Engine Type",
2353
+ "type": "string"
2354
+ },
2355
+ "name": {
2356
+ "minLength": 1,
2357
+ "title": "Name",
2358
+ "type": "string"
2359
+ },
2360
+ "nan_count": {
2361
+ "minimum": 0,
2362
+ "title": "Nan Count",
2363
+ "type": "integer"
2364
+ },
2365
+ "null_count": {
2366
+ "minimum": 0,
2367
+ "title": "Null Count",
2368
+ "type": "integer"
2369
+ }
2370
+ },
2371
+ "required": [
2372
+ "name",
2373
+ "engine_type",
2374
+ "arrow_type",
2375
+ "null_count",
2376
+ "nan_count"
2377
+ ],
2378
+ "title": "PhysicalColumn",
2379
+ "type": "object"
2380
+ },
2381
+ "PreconditionSpec": {
2382
+ "additionalProperties": false,
2383
+ "properties": {
2384
+ "precondition_id": {
2385
+ "minLength": 1,
2386
+ "title": "Precondition Id",
2387
+ "type": "string"
2388
+ },
2389
+ "requirement": {
2390
+ "discriminator": {
2391
+ "mapping": {
2392
+ "aggregate": "#/$defs/AggregateCheck",
2393
+ "cardinality": "#/$defs/CardinalityCheck",
2394
+ "join": "#/$defs/JoinCheck",
2395
+ "key": "#/$defs/KeyCheck",
2396
+ "order": "#/$defs/OrderCheck",
2397
+ "schema": "#/$defs/SchemaCheck"
2398
+ },
2399
+ "propertyName": "kind"
2400
+ },
2401
+ "oneOf": [
2402
+ {
2403
+ "$ref": "#/$defs/SchemaCheck"
2404
+ },
2405
+ {
2406
+ "$ref": "#/$defs/KeyCheck"
2407
+ },
2408
+ {
2409
+ "$ref": "#/$defs/CardinalityCheck"
2410
+ },
2411
+ {
2412
+ "$ref": "#/$defs/JoinCheck"
2413
+ },
2414
+ {
2415
+ "$ref": "#/$defs/OrderCheck"
2416
+ },
2417
+ {
2418
+ "$ref": "#/$defs/AggregateCheck"
2419
+ }
2420
+ ],
2421
+ "title": "Requirement"
2422
+ }
2423
+ },
2424
+ "required": [
2425
+ "precondition_id",
2426
+ "requirement"
2427
+ ],
2428
+ "title": "PreconditionSpec",
2429
+ "type": "object"
2430
+ },
2431
+ "RExecutionBinding": {
2432
+ "additionalProperties": false,
2433
+ "description": "Actual execution/profile/IF result associated by the bound finalizer.",
2434
+ "properties": {
2435
+ "detection_sha256": {
2436
+ "pattern": "^[0-9a-f]{64}$",
2437
+ "title": "Detection Sha256",
2438
+ "type": "string"
2439
+ },
2440
+ "execution_id": {
2441
+ "minLength": 1,
2442
+ "title": "Execution Id",
2443
+ "type": "string"
2444
+ },
2445
+ "execution_sha256": {
2446
+ "pattern": "^[0-9a-f]{64}$",
2447
+ "title": "Execution Sha256",
2448
+ "type": "string"
2449
+ },
2450
+ "output_sha256": {
2451
+ "pattern": "^[0-9a-f]{64}$",
2452
+ "title": "Output Sha256",
2453
+ "type": "string"
2454
+ },
2455
+ "profile_id": {
2456
+ "minLength": 1,
2457
+ "title": "Profile Id",
2458
+ "type": "string"
2459
+ },
2460
+ "profile_sha256": {
2461
+ "pattern": "^[0-9a-f]{64}$",
2462
+ "title": "Profile Sha256",
2463
+ "type": "string"
2464
+ }
2465
+ },
2466
+ "required": [
2467
+ "execution_id",
2468
+ "execution_sha256",
2469
+ "profile_id",
2470
+ "profile_sha256",
2471
+ "detection_sha256",
2472
+ "output_sha256"
2473
+ ],
2474
+ "title": "RExecutionBinding",
2475
+ "type": "object"
2476
+ },
2477
+ "RReviewBinding": {
2478
+ "additionalProperties": false,
2479
+ "description": "Verified local artifacts whose full observations were sent to R.",
2480
+ "properties": {
2481
+ "comparison_id": {
2482
+ "minLength": 1,
2483
+ "title": "Comparison Id",
2484
+ "type": "string"
2485
+ },
2486
+ "left_artifact_sha256": {
2487
+ "pattern": "^[0-9a-f]{64}$",
2488
+ "title": "Left Artifact Sha256",
2489
+ "type": "string"
2490
+ },
2491
+ "right_artifact_sha256": {
2492
+ "pattern": "^[0-9a-f]{64}$",
2493
+ "title": "Right Artifact Sha256",
2494
+ "type": "string"
2495
+ }
2496
+ },
2497
+ "required": [
2498
+ "comparison_id",
2499
+ "left_artifact_sha256",
2500
+ "right_artifact_sha256"
2501
+ ],
2502
+ "title": "RReviewBinding",
2503
+ "type": "object"
2504
+ },
2505
+ "RReviewResult": {
2506
+ "additionalProperties": false,
2507
+ "description": "Independent exact comparison, with unsupported/unavailable states explicit.",
2508
+ "properties": {
2509
+ "binding": {
2510
+ "anyOf": [
2511
+ {
2512
+ "$ref": "#/$defs/RReviewBinding"
2513
+ },
2514
+ {
2515
+ "type": "null"
2516
+ }
2517
+ ],
2518
+ "default": null
2519
+ },
2520
+ "columns": {
2521
+ "default": [],
2522
+ "items": {
2523
+ "type": "string"
2524
+ },
2525
+ "title": "Columns",
2526
+ "type": "array"
2527
+ },
2528
+ "complete": {
2529
+ "title": "Complete",
2530
+ "type": "boolean"
2531
+ },
2532
+ "contract_violations": {
2533
+ "default": 0,
2534
+ "minimum": 0,
2535
+ "title": "Contract Violations",
2536
+ "type": "integer"
2537
+ },
2538
+ "diagnostics": {
2539
+ "default": [],
2540
+ "items": {
2541
+ "minLength": 1,
2542
+ "type": "string"
2543
+ },
2544
+ "title": "Diagnostics",
2545
+ "type": "array"
2546
+ },
2547
+ "elapsed_seconds": {
2548
+ "minimum": 0,
2549
+ "title": "Elapsed Seconds",
2550
+ "type": "number"
2551
+ },
2552
+ "left_rows": {
2553
+ "default": 0,
2554
+ "minimum": 0,
2555
+ "title": "Left Rows",
2556
+ "type": "integer"
2557
+ },
2558
+ "left_transport_sha256": {
2559
+ "anyOf": [
2560
+ {
2561
+ "pattern": "^[0-9a-f]{64}$",
2562
+ "type": "string"
2563
+ },
2564
+ {
2565
+ "type": "null"
2566
+ }
2567
+ ],
2568
+ "default": null,
2569
+ "title": "Left Transport Sha256"
2570
+ },
2571
+ "matched_rows": {
2572
+ "default": 0,
2573
+ "minimum": 0,
2574
+ "title": "Matched Rows",
2575
+ "type": "integer"
2576
+ },
2577
+ "r_version": {
2578
+ "anyOf": [
2579
+ {
2580
+ "minLength": 1,
2581
+ "type": "string"
2582
+ },
2583
+ {
2584
+ "type": "null"
2585
+ }
2586
+ ],
2587
+ "default": null,
2588
+ "title": "R Version"
2589
+ },
2590
+ "reason": {
2591
+ "anyOf": [
2592
+ {
2593
+ "minLength": 1,
2594
+ "type": "string"
2595
+ },
2596
+ {
2597
+ "type": "null"
2598
+ }
2599
+ ],
2600
+ "default": null,
2601
+ "title": "Reason"
2602
+ },
2603
+ "returncode": {
2604
+ "anyOf": [
2605
+ {
2606
+ "type": "integer"
2607
+ },
2608
+ {
2609
+ "type": "null"
2610
+ }
2611
+ ],
2612
+ "default": null,
2613
+ "title": "Returncode"
2614
+ },
2615
+ "reviewer": {
2616
+ "const": "equiframe-base-r-exact-1.0",
2617
+ "default": "equiframe-base-r-exact-1.0",
2618
+ "title": "Reviewer",
2619
+ "type": "string"
2620
+ },
2621
+ "reviewer_sha256": {
2622
+ "pattern": "^[0-9a-f]{64}$",
2623
+ "title": "Reviewer Sha256",
2624
+ "type": "string"
2625
+ },
2626
+ "right_rows": {
2627
+ "default": 0,
2628
+ "minimum": 0,
2629
+ "title": "Right Rows",
2630
+ "type": "integer"
2631
+ },
2632
+ "right_transport_sha256": {
2633
+ "anyOf": [
2634
+ {
2635
+ "pattern": "^[0-9a-f]{64}$",
2636
+ "type": "string"
2637
+ },
2638
+ {
2639
+ "type": "null"
2640
+ }
2641
+ ],
2642
+ "default": null,
2643
+ "title": "Right Transport Sha256"
2644
+ },
2645
+ "schema_version": {
2646
+ "const": "1.0",
2647
+ "default": "1.0",
2648
+ "title": "Schema Version",
2649
+ "type": "string"
2650
+ },
2651
+ "spec_sha256": {
2652
+ "pattern": "^[0-9a-f]{64}$",
2653
+ "title": "Spec Sha256",
2654
+ "type": "string"
2655
+ },
2656
+ "state": {
2657
+ "enum": [
2658
+ "equivalent",
2659
+ "different",
2660
+ "not_evaluable"
2661
+ ],
2662
+ "title": "State",
2663
+ "type": "string"
2664
+ },
2665
+ "unmatched_rows": {
2666
+ "default": 0,
2667
+ "minimum": 0,
2668
+ "title": "Unmatched Rows",
2669
+ "type": "integer"
2670
+ }
2671
+ },
2672
+ "required": [
2673
+ "state",
2674
+ "complete",
2675
+ "spec_sha256",
2676
+ "reviewer_sha256",
2677
+ "elapsed_seconds"
2678
+ ],
2679
+ "title": "RReviewResult",
2680
+ "type": "object"
2681
+ },
2682
+ "RuleSpec": {
2683
+ "additionalProperties": false,
2684
+ "properties": {
2685
+ "applicability": {
2686
+ "default": [],
2687
+ "items": {
2688
+ "minLength": 1,
2689
+ "type": "string"
2690
+ },
2691
+ "title": "Applicability",
2692
+ "type": "array"
2693
+ },
2694
+ "required": {
2695
+ "title": "Required",
2696
+ "type": "boolean"
2697
+ },
2698
+ "revision": {
2699
+ "exclusiveMinimum": 0,
2700
+ "title": "Revision",
2701
+ "type": "integer"
2702
+ },
2703
+ "rule_id": {
2704
+ "minLength": 1,
2705
+ "title": "Rule Id",
2706
+ "type": "string"
2707
+ },
2708
+ "severity": {
2709
+ "enum": [
2710
+ "info",
2711
+ "warning",
2712
+ "error"
2713
+ ],
2714
+ "title": "Severity",
2715
+ "type": "string"
2716
+ },
2717
+ "specification": {
2718
+ "discriminator": {
2719
+ "mapping": {
2720
+ "aggregate": "#/$defs/AggregateCheck",
2721
+ "cardinality": "#/$defs/CardinalityCheck",
2722
+ "join": "#/$defs/JoinCheck",
2723
+ "key": "#/$defs/KeyCheck",
2724
+ "order": "#/$defs/OrderCheck",
2725
+ "schema": "#/$defs/SchemaCheck"
2726
+ },
2727
+ "propertyName": "kind"
2728
+ },
2729
+ "oneOf": [
2730
+ {
2731
+ "$ref": "#/$defs/SchemaCheck"
2732
+ },
2733
+ {
2734
+ "$ref": "#/$defs/KeyCheck"
2735
+ },
2736
+ {
2737
+ "$ref": "#/$defs/CardinalityCheck"
2738
+ },
2739
+ {
2740
+ "$ref": "#/$defs/JoinCheck"
2741
+ },
2742
+ {
2743
+ "$ref": "#/$defs/OrderCheck"
2744
+ },
2745
+ {
2746
+ "$ref": "#/$defs/AggregateCheck"
2747
+ }
2748
+ ],
2749
+ "title": "Specification"
2750
+ }
2751
+ },
2752
+ "required": [
2753
+ "rule_id",
2754
+ "revision",
2755
+ "specification",
2756
+ "severity",
2757
+ "required"
2758
+ ],
2759
+ "title": "RuleSpec",
2760
+ "type": "object"
2761
+ },
2762
+ "SchemaCheck": {
2763
+ "additionalProperties": false,
2764
+ "properties": {
2765
+ "kind": {
2766
+ "const": "schema",
2767
+ "default": "schema",
2768
+ "title": "Kind",
2769
+ "type": "string"
2770
+ },
2771
+ "table": {
2772
+ "minLength": 1,
2773
+ "title": "Table",
2774
+ "type": "string"
2775
+ }
2776
+ },
2777
+ "required": [
2778
+ "table"
2779
+ ],
2780
+ "title": "SchemaCheck",
2781
+ "type": "object"
2782
+ },
2783
+ "SchemaRef": {
2784
+ "additionalProperties": false,
2785
+ "properties": {
2786
+ "revision": {
2787
+ "exclusiveMinimum": 0,
2788
+ "title": "Revision",
2789
+ "type": "integer"
2790
+ },
2791
+ "schema_id": {
2792
+ "minLength": 1,
2793
+ "title": "Schema Id",
2794
+ "type": "string"
2795
+ },
2796
+ "sha256": {
2797
+ "pattern": "^[0-9a-f]{64}$",
2798
+ "title": "Sha256",
2799
+ "type": "string"
2800
+ }
2801
+ },
2802
+ "required": [
2803
+ "schema_id",
2804
+ "revision",
2805
+ "sha256"
2806
+ ],
2807
+ "title": "SchemaRef",
2808
+ "type": "object"
2809
+ },
2810
+ "SignificantOrder": {
2811
+ "additionalProperties": false,
2812
+ "properties": {
2813
+ "by": {
2814
+ "items": {
2815
+ "$ref": "#/$defs/SortSpec"
2816
+ },
2817
+ "minItems": 1,
2818
+ "title": "By",
2819
+ "type": "array"
2820
+ },
2821
+ "kind": {
2822
+ "const": "significant",
2823
+ "default": "significant",
2824
+ "title": "Kind",
2825
+ "type": "string"
2826
+ },
2827
+ "ties": {
2828
+ "enum": [
2829
+ "preserve",
2830
+ "reject"
2831
+ ],
2832
+ "title": "Ties",
2833
+ "type": "string"
2834
+ }
2835
+ },
2836
+ "required": [
2837
+ "by",
2838
+ "ties"
2839
+ ],
2840
+ "title": "SignificantOrder",
2841
+ "type": "object"
2842
+ },
2843
+ "SortSpec": {
2844
+ "additionalProperties": false,
2845
+ "properties": {
2846
+ "column": {
2847
+ "minLength": 1,
2848
+ "title": "Column",
2849
+ "type": "string"
2850
+ },
2851
+ "direction": {
2852
+ "enum": [
2853
+ "ascending",
2854
+ "descending"
2855
+ ],
2856
+ "title": "Direction",
2857
+ "type": "string"
2858
+ },
2859
+ "nulls": {
2860
+ "enum": [
2861
+ "first",
2862
+ "last"
2863
+ ],
2864
+ "title": "Nulls",
2865
+ "type": "string"
2866
+ }
2867
+ },
2868
+ "required": [
2869
+ "column",
2870
+ "direction",
2871
+ "nulls"
2872
+ ],
2873
+ "title": "SortSpec",
2874
+ "type": "object"
2875
+ },
2876
+ "StageTiming": {
2877
+ "additionalProperties": false,
2878
+ "properties": {
2879
+ "seconds": {
2880
+ "minimum": 0,
2881
+ "title": "Seconds",
2882
+ "type": "number"
2883
+ },
2884
+ "stage": {
2885
+ "minLength": 1,
2886
+ "title": "Stage",
2887
+ "type": "string"
2888
+ }
2889
+ },
2890
+ "required": [
2891
+ "stage",
2892
+ "seconds"
2893
+ ],
2894
+ "title": "StageTiming",
2895
+ "type": "object"
2896
+ },
2897
+ "StringType": {
2898
+ "additionalProperties": false,
2899
+ "properties": {
2900
+ "kind": {
2901
+ "const": "string",
2902
+ "default": "string",
2903
+ "title": "Kind",
2904
+ "type": "string"
2905
+ }
2906
+ },
2907
+ "title": "StringType",
2908
+ "type": "object"
2909
+ },
2910
+ "StringValue": {
2911
+ "additionalProperties": false,
2912
+ "properties": {
2913
+ "kind": {
2914
+ "const": "string",
2915
+ "default": "string",
2916
+ "title": "Kind",
2917
+ "type": "string"
2918
+ },
2919
+ "value": {
2920
+ "title": "Value",
2921
+ "type": "string"
2922
+ }
2923
+ },
2924
+ "required": [
2925
+ "value"
2926
+ ],
2927
+ "title": "StringValue",
2928
+ "type": "object"
2929
+ },
2930
+ "TableArtifact": {
2931
+ "additionalProperties": false,
2932
+ "properties": {
2933
+ "columns": {
2934
+ "items": {
2935
+ "$ref": "#/$defs/PhysicalColumn"
2936
+ },
2937
+ "title": "Columns",
2938
+ "type": "array"
2939
+ },
2940
+ "data": {
2941
+ "$ref": "#/$defs/ArtifactRef"
2942
+ },
2943
+ "index": {
2944
+ "anyOf": [
2945
+ {
2946
+ "$ref": "#/$defs/ArtifactRef"
2947
+ },
2948
+ {
2949
+ "type": "null"
2950
+ }
2951
+ ],
2952
+ "default": null
2953
+ },
2954
+ "index_columns": {
2955
+ "default": [],
2956
+ "items": {
2957
+ "$ref": "#/$defs/PhysicalColumn"
2958
+ },
2959
+ "title": "Index Columns",
2960
+ "type": "array"
2961
+ },
2962
+ "name": {
2963
+ "minLength": 1,
2964
+ "title": "Name",
2965
+ "type": "string"
2966
+ },
2967
+ "notes": {
2968
+ "default": [],
2969
+ "items": {
2970
+ "minLength": 1,
2971
+ "type": "string"
2972
+ },
2973
+ "title": "Notes",
2974
+ "type": "array"
2975
+ },
2976
+ "origin": {
2977
+ "anyOf": [
2978
+ {
2979
+ "$ref": "#/$defs/ArtifactRef"
2980
+ },
2981
+ {
2982
+ "type": "null"
2983
+ }
2984
+ ],
2985
+ "default": null
2986
+ },
2987
+ "row_count": {
2988
+ "minimum": 0,
2989
+ "title": "Row Count",
2990
+ "type": "integer"
2991
+ }
2992
+ },
2993
+ "required": [
2994
+ "name",
2995
+ "data",
2996
+ "row_count",
2997
+ "columns"
2998
+ ],
2999
+ "title": "TableArtifact",
3000
+ "type": "object"
3001
+ },
3002
+ "TableKeyScope": {
3003
+ "additionalProperties": false,
3004
+ "properties": {
3005
+ "kind": {
3006
+ "const": "table",
3007
+ "default": "table",
3008
+ "title": "Kind",
3009
+ "type": "string"
3010
+ }
3011
+ },
3012
+ "title": "TableKeyScope",
3013
+ "type": "object"
3014
+ },
3015
+ "TableSchema": {
3016
+ "additionalProperties": false,
3017
+ "properties": {
3018
+ "columns": {
3019
+ "items": {
3020
+ "$ref": "#/$defs/ColumnSpec"
3021
+ },
3022
+ "minItems": 1,
3023
+ "title": "Columns",
3024
+ "type": "array"
3025
+ },
3026
+ "keys": {
3027
+ "items": {
3028
+ "$ref": "#/$defs/KeySpec"
3029
+ },
3030
+ "title": "Keys",
3031
+ "type": "array"
3032
+ },
3033
+ "multiplicity": {
3034
+ "enum": [
3035
+ "preserve",
3036
+ "distinct"
3037
+ ],
3038
+ "title": "Multiplicity",
3039
+ "type": "string"
3040
+ },
3041
+ "order": {
3042
+ "discriminator": {
3043
+ "mapping": {
3044
+ "ignored": "#/$defs/IgnoredOrder",
3045
+ "significant": "#/$defs/SignificantOrder"
3046
+ },
3047
+ "propertyName": "kind"
3048
+ },
3049
+ "oneOf": [
3050
+ {
3051
+ "$ref": "#/$defs/IgnoredOrder"
3052
+ },
3053
+ {
3054
+ "$ref": "#/$defs/SignificantOrder"
3055
+ }
3056
+ ],
3057
+ "title": "Order"
3058
+ }
3059
+ },
3060
+ "required": [
3061
+ "columns",
3062
+ "keys",
3063
+ "multiplicity",
3064
+ "order"
3065
+ ],
3066
+ "title": "TableSchema",
3067
+ "type": "object"
3068
+ },
3069
+ "TableSpec": {
3070
+ "additionalProperties": false,
3071
+ "properties": {
3072
+ "name": {
3073
+ "minLength": 1,
3074
+ "title": "Name",
3075
+ "type": "string"
3076
+ },
3077
+ "schema_spec": {
3078
+ "$ref": "#/$defs/TableSchema"
3079
+ }
3080
+ },
3081
+ "required": [
3082
+ "name",
3083
+ "schema_spec"
3084
+ ],
3085
+ "title": "TableSpec",
3086
+ "type": "object"
3087
+ },
3088
+ "TimestampPolicy": {
3089
+ "additionalProperties": false,
3090
+ "properties": {
3091
+ "ambiguous": {
3092
+ "enum": [
3093
+ "reject",
3094
+ "earlier",
3095
+ "later"
3096
+ ],
3097
+ "title": "Ambiguous",
3098
+ "type": "string"
3099
+ },
3100
+ "closed": {
3101
+ "enum": [
3102
+ "both",
3103
+ "left",
3104
+ "right",
3105
+ "neither"
3106
+ ],
3107
+ "title": "Closed",
3108
+ "type": "string"
3109
+ },
3110
+ "comparison": {
3111
+ "enum": [
3112
+ "instant",
3113
+ "wall_time"
3114
+ ],
3115
+ "title": "Comparison",
3116
+ "type": "string"
3117
+ },
3118
+ "granularity": {
3119
+ "enum": [
3120
+ "s",
3121
+ "ms",
3122
+ "us",
3123
+ "ns"
3124
+ ],
3125
+ "title": "Granularity",
3126
+ "type": "string"
3127
+ },
3128
+ "kind": {
3129
+ "const": "timestamp",
3130
+ "default": "timestamp",
3131
+ "title": "Kind",
3132
+ "type": "string"
3133
+ },
3134
+ "lower": {
3135
+ "anyOf": [
3136
+ {
3137
+ "$ref": "#/$defs/TimestampValue"
3138
+ },
3139
+ {
3140
+ "type": "null"
3141
+ }
3142
+ ],
3143
+ "default": null
3144
+ },
3145
+ "naive": {
3146
+ "enum": [
3147
+ "reject",
3148
+ "preserve",
3149
+ "assume_zone"
3150
+ ],
3151
+ "title": "Naive",
3152
+ "type": "string"
3153
+ },
3154
+ "nonexistent": {
3155
+ "const": "reject",
3156
+ "default": "reject",
3157
+ "title": "Nonexistent",
3158
+ "type": "string"
3159
+ },
3160
+ "timezone": {
3161
+ "anyOf": [
3162
+ {
3163
+ "minLength": 1,
3164
+ "type": "string"
3165
+ },
3166
+ {
3167
+ "type": "null"
3168
+ }
3169
+ ],
3170
+ "title": "Timezone"
3171
+ },
3172
+ "upper": {
3173
+ "anyOf": [
3174
+ {
3175
+ "$ref": "#/$defs/TimestampValue"
3176
+ },
3177
+ {
3178
+ "type": "null"
3179
+ }
3180
+ ],
3181
+ "default": null
3182
+ }
3183
+ },
3184
+ "required": [
3185
+ "granularity",
3186
+ "timezone",
3187
+ "naive",
3188
+ "comparison",
3189
+ "ambiguous",
3190
+ "closed"
3191
+ ],
3192
+ "title": "TimestampPolicy",
3193
+ "type": "object"
3194
+ },
3195
+ "TimestampType": {
3196
+ "additionalProperties": false,
3197
+ "properties": {
3198
+ "kind": {
3199
+ "const": "timestamp",
3200
+ "default": "timestamp",
3201
+ "title": "Kind",
3202
+ "type": "string"
3203
+ },
3204
+ "timezone": {
3205
+ "anyOf": [
3206
+ {
3207
+ "minLength": 1,
3208
+ "type": "string"
3209
+ },
3210
+ {
3211
+ "type": "null"
3212
+ }
3213
+ ],
3214
+ "title": "Timezone"
3215
+ },
3216
+ "unit": {
3217
+ "enum": [
3218
+ "s",
3219
+ "ms",
3220
+ "us",
3221
+ "ns"
3222
+ ],
3223
+ "title": "Unit",
3224
+ "type": "string"
3225
+ }
3226
+ },
3227
+ "required": [
3228
+ "unit",
3229
+ "timezone"
3230
+ ],
3231
+ "title": "TimestampType",
3232
+ "type": "object"
3233
+ },
3234
+ "TimestampValue": {
3235
+ "additionalProperties": false,
3236
+ "properties": {
3237
+ "kind": {
3238
+ "const": "timestamp",
3239
+ "default": "timestamp",
3240
+ "title": "Kind",
3241
+ "type": "string"
3242
+ },
3243
+ "value": {
3244
+ "title": "Value",
3245
+ "type": "string"
3246
+ },
3247
+ "zone": {
3248
+ "anyOf": [
3249
+ {
3250
+ "minLength": 1,
3251
+ "type": "string"
3252
+ },
3253
+ {
3254
+ "type": "null"
3255
+ }
3256
+ ],
3257
+ "default": null,
3258
+ "title": "Zone"
3259
+ }
3260
+ },
3261
+ "required": [
3262
+ "value"
3263
+ ],
3264
+ "title": "TimestampValue",
3265
+ "type": "object"
3266
+ },
3267
+ "Tolerance": {
3268
+ "additionalProperties": false,
3269
+ "properties": {
3270
+ "absolute": {
3271
+ "anyOf": [
3272
+ {
3273
+ "pattern": "^[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$",
3274
+ "type": "string"
3275
+ },
3276
+ {
3277
+ "type": "null"
3278
+ }
3279
+ ],
3280
+ "default": null,
3281
+ "title": "Absolute"
3282
+ },
3283
+ "justification": {
3284
+ "minLength": 1,
3285
+ "title": "Justification",
3286
+ "type": "string"
3287
+ },
3288
+ "relative": {
3289
+ "anyOf": [
3290
+ {
3291
+ "pattern": "^[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$",
3292
+ "type": "string"
3293
+ },
3294
+ {
3295
+ "type": "null"
3296
+ }
3297
+ ],
3298
+ "default": null,
3299
+ "title": "Relative"
3300
+ },
3301
+ "unit": {
3302
+ "minLength": 1,
3303
+ "title": "Unit",
3304
+ "type": "string"
3305
+ }
3306
+ },
3307
+ "required": [
3308
+ "unit",
3309
+ "justification"
3310
+ ],
3311
+ "title": "Tolerance",
3312
+ "type": "object"
3313
+ },
3314
+ "VersionInfo": {
3315
+ "additionalProperties": false,
3316
+ "properties": {
3317
+ "name": {
3318
+ "minLength": 1,
3319
+ "title": "Name",
3320
+ "type": "string"
3321
+ },
3322
+ "version": {
3323
+ "minLength": 1,
3324
+ "title": "Version",
3325
+ "type": "string"
3326
+ }
3327
+ },
3328
+ "required": [
3329
+ "name",
3330
+ "version"
3331
+ ],
3332
+ "title": "VersionInfo",
3333
+ "type": "object"
3334
+ }
3335
+ },
3336
+ "additionalProperties": false,
3337
+ "description": "H plus an independent exact comparison; alerts are never overwritten.\n\n``accepted`` means all requested operational checks completed without an\nalert. It is not a scientific correctness label or approval of an IF model.",
3338
+ "properties": {
3339
+ "accepted": {
3340
+ "title": "Accepted",
3341
+ "type": "boolean"
3342
+ },
3343
+ "comparison": {
3344
+ "anyOf": [
3345
+ {
3346
+ "$ref": "#/$defs/ComparisonResult"
3347
+ },
3348
+ {
3349
+ "type": "null"
3350
+ }
3351
+ ],
3352
+ "default": null
3353
+ },
3354
+ "comparison_disagreement": {
3355
+ "default": false,
3356
+ "title": "Comparison Disagreement",
3357
+ "type": "boolean"
3358
+ },
3359
+ "execution_binding": {
3360
+ "anyOf": [
3361
+ {
3362
+ "$ref": "#/$defs/RExecutionBinding"
3363
+ },
3364
+ {
3365
+ "type": "null"
3366
+ }
3367
+ ],
3368
+ "default": null
3369
+ },
3370
+ "hybrid": {
3371
+ "$ref": "#/$defs/HybridDecision"
3372
+ },
3373
+ "r_review": {
3374
+ "$ref": "#/$defs/RReviewResult"
3375
+ },
3376
+ "result": {
3377
+ "$ref": "#/$defs/ComponentDecision"
3378
+ },
3379
+ "schema_version": {
3380
+ "const": "1.0",
3381
+ "default": "1.0",
3382
+ "title": "Schema Version",
3383
+ "type": "string"
3384
+ }
3385
+ },
3386
+ "required": [
3387
+ "hybrid",
3388
+ "r_review",
3389
+ "result",
3390
+ "accepted"
3391
+ ],
3392
+ "title": "ReviewedDecision",
3393
+ "type": "object"
3394
+ }