@reviewsensei/cli-win32-x64 0.8.14 → 0.8.16

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 (24) hide show
  1. package/README.md +1 -1
  2. package/bin/_internal/base_library.zip +0 -0
  3. package/bin/_internal/jsonschema-4.26.0.dist-info/RECORD +1 -1
  4. package/bin/_internal/review_sensei/schemas/eligibility-v7.schema.json +36 -0
  5. package/bin/_internal/review_sensei/schemas/eligibility-v8.schema.json +125 -0
  6. package/bin/_internal/review_sensei/schemas/quarantine-assessment-cursor.schema.json +36 -0
  7. package/bin/_internal/review_sensei/schemas/quarantine-assessment-event.schema.json +40 -0
  8. package/bin/_internal/review_sensei/schemas/quarantine-assessment-inventory.schema.json +37 -0
  9. package/bin/_internal/review_sensei/schemas/quarantine-assessment-origins.schema.json +92 -0
  10. package/bin/_internal/review_sensei/schemas/quarantine-assessment-state.schema.json +94 -0
  11. package/bin/_internal/review_sensei/schemas/quarantine-assessment-view.schema.json +89 -0
  12. package/bin/_internal/review_sensei/schemas/quarantine-lineage.schema.json +101 -0
  13. package/bin/_internal/review_sensei/schemas/session-record.schema.json +702 -119
  14. package/bin/_internal/{review_sensei-0.8.14.dist-info → review_sensei-0.8.16.dist-info}/METADATA +3 -3
  15. package/bin/_internal/{review_sensei-0.8.14.dist-info → review_sensei-0.8.16.dist-info}/RECORD +32 -15
  16. package/bin/review-sensei.exe +0 -0
  17. package/package.json +1 -1
  18. /package/bin/_internal/{review_sensei-0.8.14.dist-info → review_sensei-0.8.16.dist-info}/INSTALLER +0 -0
  19. /package/bin/_internal/{review_sensei-0.8.14.dist-info → review_sensei-0.8.16.dist-info}/REQUESTED +0 -0
  20. /package/bin/_internal/{review_sensei-0.8.14.dist-info → review_sensei-0.8.16.dist-info}/WHEEL +0 -0
  21. /package/bin/_internal/{review_sensei-0.8.14.dist-info → review_sensei-0.8.16.dist-info}/direct_url.json +0 -0
  22. /package/bin/_internal/{review_sensei-0.8.14.dist-info → review_sensei-0.8.16.dist-info}/entry_points.txt +0 -0
  23. /package/bin/_internal/{review_sensei-0.8.14.dist-info → review_sensei-0.8.16.dist-info}/licenses/LICENSE +0 -0
  24. /package/bin/_internal/{review_sensei-0.8.14.dist-info → review_sensei-0.8.16.dist-info}/top_level.txt +0 -0
@@ -104,44 +104,108 @@
104
104
  }
105
105
  }
106
106
  },
107
- "rescan_state": {"$ref": "https://reviewsensei.dev/schemas/v1/rescan-state.schema.json"},
108
- "schema_version": {"const": "1.0"},
109
- "repository": {"type": "string", "minLength": 1, "maxLength": 256},
110
- "pull_request": {"type": "integer", "minimum": 1, "maximum": 2147483647},
107
+ "rescan_state": {
108
+ "$ref": "https://reviewsensei.dev/schemas/v1/rescan-state.schema.json"
109
+ },
110
+ "schema_version": {
111
+ "const": "1.0"
112
+ },
113
+ "repository": {
114
+ "type": "string",
115
+ "minLength": 1,
116
+ "maxLength": 256
117
+ },
118
+ "pull_request": {
119
+ "type": "integer",
120
+ "minimum": 1,
121
+ "maximum": 2147483647
122
+ },
111
123
  "repository_id": {
112
- "type": ["integer", "null"],
124
+ "type": [
125
+ "integer",
126
+ "null"
127
+ ],
113
128
  "minimum": 1,
114
129
  "maximum": 2147483647
115
130
  },
116
- "completed_initial_reviews": {"type": "integer", "minimum": 0, "maximum": 1000000},
117
- "completed_verification_rounds": {"type": "integer", "minimum": 0, "maximum": 1000000},
118
- "failed_attempts": {"type": "integer", "minimum": 0, "maximum": 32},
119
- "failed_attempts_head_sha": {"type": ["string", "null"], "pattern": "^[a-f0-9]{40,64}$"},
120
- "generation": {"type": "integer", "minimum": 0, "maximum": 2147483647},
131
+ "completed_initial_reviews": {
132
+ "type": "integer",
133
+ "minimum": 0,
134
+ "maximum": 1000000
135
+ },
136
+ "completed_verification_rounds": {
137
+ "type": "integer",
138
+ "minimum": 0,
139
+ "maximum": 1000000
140
+ },
141
+ "failed_attempts": {
142
+ "type": "integer",
143
+ "minimum": 0,
144
+ "maximum": 32
145
+ },
146
+ "failed_attempts_head_sha": {
147
+ "type": [
148
+ "string",
149
+ "null"
150
+ ],
151
+ "pattern": "^[a-f0-9]{40,64}$"
152
+ },
153
+ "generation": {
154
+ "type": "integer",
155
+ "minimum": 0,
156
+ "maximum": 2147483647
157
+ },
121
158
  "reservation_id": {
122
159
  "anyOf": [
123
- {"type": "null"},
124
- {"type": "string", "pattern": "^[a-f0-9]{8,64}$"}
160
+ {
161
+ "type": "null"
162
+ },
163
+ {
164
+ "type": "string",
165
+ "pattern": "^[a-f0-9]{8,64}$"
166
+ }
125
167
  ]
126
168
  },
127
169
  "reservation_owner": {
128
170
  "description": "Owning run from the authenticated OIDC broker; absent in legacy reservations.",
129
171
  "type": "object",
130
172
  "additionalProperties": false,
131
- "required": ["run_id", "head_sha"],
173
+ "required": [
174
+ "run_id",
175
+ "head_sha"
176
+ ],
132
177
  "properties": {
133
- "run_id": {"type": "string", "pattern": "^[1-9][0-9]{0,18}$"},
134
- "head_sha": {"type": "string", "pattern": "^[a-f0-9]{40}$"}
178
+ "run_id": {
179
+ "type": "string",
180
+ "pattern": "^[1-9][0-9]{0,18}$"
181
+ },
182
+ "head_sha": {
183
+ "type": "string",
184
+ "pattern": "^[a-f0-9]{40}$"
185
+ }
135
186
  }
136
187
  },
137
188
  "reserved_slot": {
138
- "type": ["string", "null"],
139
- "enum": ["initial", "verification", "failed-attempt", null]
189
+ "type": [
190
+ "string",
191
+ "null"
192
+ ],
193
+ "enum": [
194
+ "initial",
195
+ "verification",
196
+ "failed-attempt",
197
+ null
198
+ ]
140
199
  },
141
200
  "last_committed_reservation_id": {
142
201
  "anyOf": [
143
- {"type": "null"},
144
- {"type": "string", "pattern": "^[a-f0-9]{8,64}$"}
202
+ {
203
+ "type": "null"
204
+ },
205
+ {
206
+ "type": "string",
207
+ "pattern": "^[a-f0-9]{8,64}$"
208
+ }
145
209
  ]
146
210
  },
147
211
  "created_at": {
@@ -159,40 +223,134 @@
159
223
  "format": "date-time",
160
224
  "pattern": "^(?:\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2}))$"
161
225
  },
162
- "record_sha256": {"type": "string", "pattern": "^[a-f0-9]{64}$"},
163
- "operator_paused": {"type": "boolean"},
164
- "assessment_queue": {"$ref": "https://reviewsensei.dev/schemas/v1/assessment-queue-root.schema.json"},
226
+ "record_sha256": {
227
+ "type": "string",
228
+ "pattern": "^[a-f0-9]{64}$"
229
+ },
230
+ "operator_paused": {
231
+ "type": "boolean"
232
+ },
233
+ "assessment_queue": {
234
+ "$ref": "https://reviewsensei.dev/schemas/v1/assessment-queue-root.schema.json"
235
+ },
165
236
  "dispositions": {
166
237
  "type": "array",
167
238
  "maxItems": 256,
168
239
  "items": {
169
240
  "type": "object",
170
241
  "additionalProperties": false,
171
- "required": ["fingerprint", "action", "reason", "actor", "head_sha", "expires_at"],
242
+ "required": [
243
+ "fingerprint",
244
+ "action",
245
+ "reason",
246
+ "actor",
247
+ "head_sha",
248
+ "expires_at"
249
+ ],
172
250
  "properties": {
173
- "fingerprint": {"type": "string", "pattern": "^[a-f0-9]{16,64}$"},
174
- "action": {"enum": ["dismiss", "defer", "accept-risk", "accept-coverage-uncertainty"]},
175
- "reason": {"type": "string", "minLength": 1, "maxLength": 512},
176
- "actor": {"type": "string", "minLength": 1, "maxLength": 256},
177
- "head_sha": {"type": ["string", "null"], "pattern": "^[a-f0-9]{40,64}$"},
178
- "expires_at": {"type": ["string", "null"], "format": "date-time"},
179
- "actor_role": {"type": ["string", "null"], "maxLength": 64},
180
- "finding_reference": {"type": ["string", "null"], "pattern": "^(?:RS-)?[A-Fa-f0-9]{6,64}$"},
181
- "recorded_at": {"type": ["string", "null"], "format": "date-time"},
182
- "policy_digest": {"type": ["string", "null"], "pattern": "^[a-f0-9]{64}$"},
183
- "provenance": {"type": ["string", "null"], "maxLength": 256},
251
+ "fingerprint": {
252
+ "type": "string",
253
+ "pattern": "^[a-f0-9]{16,64}$"
254
+ },
255
+ "action": {
256
+ "enum": [
257
+ "dismiss",
258
+ "defer",
259
+ "accept-risk",
260
+ "accept-coverage-uncertainty"
261
+ ]
262
+ },
263
+ "reason": {
264
+ "type": "string",
265
+ "minLength": 1,
266
+ "maxLength": 512
267
+ },
268
+ "actor": {
269
+ "type": "string",
270
+ "minLength": 1,
271
+ "maxLength": 256
272
+ },
273
+ "head_sha": {
274
+ "type": [
275
+ "string",
276
+ "null"
277
+ ],
278
+ "pattern": "^[a-f0-9]{40,64}$"
279
+ },
280
+ "expires_at": {
281
+ "type": [
282
+ "string",
283
+ "null"
284
+ ],
285
+ "format": "date-time"
286
+ },
287
+ "actor_role": {
288
+ "type": [
289
+ "string",
290
+ "null"
291
+ ],
292
+ "maxLength": 64
293
+ },
294
+ "finding_reference": {
295
+ "type": [
296
+ "string",
297
+ "null"
298
+ ],
299
+ "pattern": "^(?:RS-)?[A-Fa-f0-9]{6,64}$"
300
+ },
301
+ "recorded_at": {
302
+ "type": [
303
+ "string",
304
+ "null"
305
+ ],
306
+ "format": "date-time"
307
+ },
308
+ "policy_digest": {
309
+ "type": [
310
+ "string",
311
+ "null"
312
+ ],
313
+ "pattern": "^[a-f0-9]{64}$"
314
+ },
315
+ "provenance": {
316
+ "type": [
317
+ "string",
318
+ "null"
319
+ ],
320
+ "maxLength": 256
321
+ },
184
322
  "resolution_kind": {
185
- "type": ["string", "null"],
186
- "enum": ["disputed", "deferred", "accepted_unresolved", "coverage_uncertainty_accepted", null]
323
+ "type": [
324
+ "string",
325
+ "null"
326
+ ],
327
+ "enum": [
328
+ "disputed",
329
+ "deferred",
330
+ "accepted_unresolved",
331
+ "coverage_uncertainty_accepted",
332
+ null
333
+ ]
187
334
  },
188
335
  "target_kind": {
189
- "type": ["string", "null"],
190
- "enum": ["finding", "coverage_uncertainty", null]
336
+ "type": [
337
+ "string",
338
+ "null"
339
+ ],
340
+ "enum": [
341
+ "finding",
342
+ "coverage_uncertainty",
343
+ null
344
+ ]
191
345
  },
192
346
  "incomplete_coverage": {
193
347
  "type": "array",
194
348
  "maxItems": 256,
195
- "items": {"type": "string", "minLength": 1, "maxLength": 256}
349
+ "items": {
350
+ "type": "string",
351
+ "minLength": 1,
352
+ "maxLength": 256
353
+ }
196
354
  }
197
355
  }
198
356
  }
@@ -214,27 +372,69 @@
214
372
  "consumed_reservation_id",
215
373
  "consumed_generation"
216
374
  ],
217
- "properties": {
218
- "command_id": {"type": "string", "minLength": 1, "maxLength": 128, "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"},
219
- "actor": {"type": "string", "minLength": 1, "maxLength": 256},
220
- "head_sha": {"type": "string", "pattern": "^[a-f0-9]{40,64}$"},
221
- "policy_digest": {"type": "string", "pattern": "^[a-f0-9]{64}$"},
222
- "issued_at": {"type": "string", "format": "date-time"},
223
- "expires_at": {"type": "string", "format": "date-time"},
224
- "consumed_reservation_id": {"type": ["string", "null"], "pattern": "^[a-f0-9]{8,64}$"},
225
- "consumed_generation": {"type": ["integer", "null"], "minimum": 1, "maximum": 2147483647}
375
+ "properties": {
376
+ "command_id": {
377
+ "type": "string",
378
+ "minLength": 1,
379
+ "maxLength": 128,
380
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
381
+ },
382
+ "actor": {
383
+ "type": "string",
384
+ "minLength": 1,
385
+ "maxLength": 256
386
+ },
387
+ "head_sha": {
388
+ "type": "string",
389
+ "pattern": "^[a-f0-9]{40,64}$"
390
+ },
391
+ "policy_digest": {
392
+ "type": "string",
393
+ "pattern": "^[a-f0-9]{64}$"
394
+ },
395
+ "issued_at": {
396
+ "type": "string",
397
+ "format": "date-time"
398
+ },
399
+ "expires_at": {
400
+ "type": "string",
401
+ "format": "date-time"
402
+ },
403
+ "consumed_reservation_id": {
404
+ "type": [
405
+ "string",
406
+ "null"
407
+ ],
408
+ "pattern": "^[a-f0-9]{8,64}$"
409
+ },
410
+ "consumed_generation": {
411
+ "type": [
412
+ "integer",
413
+ "null"
414
+ ],
415
+ "minimum": 1,
416
+ "maximum": 2147483647
417
+ }
226
418
  },
227
419
  "oneOf": [
228
420
  {
229
421
  "properties": {
230
- "consumed_reservation_id": {"type": "null"},
231
- "consumed_generation": {"type": "null"}
422
+ "consumed_reservation_id": {
423
+ "type": "null"
424
+ },
425
+ "consumed_generation": {
426
+ "type": "null"
427
+ }
232
428
  }
233
429
  },
234
430
  {
235
431
  "properties": {
236
- "consumed_reservation_id": {"type": "string"},
237
- "consumed_generation": {"type": "integer"}
432
+ "consumed_reservation_id": {
433
+ "type": "string"
434
+ },
435
+ "consumed_generation": {
436
+ "type": "integer"
437
+ }
238
438
  }
239
439
  }
240
440
  ]
@@ -247,58 +447,183 @@
247
447
  "type": "object",
248
448
  "description": "Bounded convergence envelope. The field caps below bound each member; the validation seam additionally rejects canonical UTF-8 JSON above 12288 history bytes or 20480 record bytes, which JSON Schema cannot express. Writers allocate less history when the surrounding lifecycle state requires it. Older readers reject expanded records; upgrade all shared-ledger readers before enabling new writes.",
249
449
  "additionalProperties": false,
250
- "required": ["state", "progress", "provenance"],
450
+ "required": [
451
+ "state",
452
+ "progress",
453
+ "provenance"
454
+ ],
251
455
  "properties": {
252
- "state": {"enum": ["completed", "invalidated", "recovery-required"]},
456
+ "state": {
457
+ "enum": [
458
+ "completed",
459
+ "invalidated",
460
+ "recovery-required"
461
+ ]
462
+ },
253
463
  "baseline": {
254
464
  "oneOf": [
255
465
  {
256
466
  "type": "object",
257
467
  "additionalProperties": false,
258
- "required": ["cache_key", "policy_digest", "complete", "coverage_complete", "generation", "findings", "reviewed_paths", "related_paths"],
468
+ "required": [
469
+ "cache_key",
470
+ "policy_digest",
471
+ "complete",
472
+ "coverage_complete",
473
+ "generation",
474
+ "findings",
475
+ "reviewed_paths",
476
+ "related_paths"
477
+ ],
259
478
  "properties": {
260
479
  "cache_key": {
261
480
  "type": "object",
262
481
  "additionalProperties": false,
263
- "required": ["repository", "pull_request", "base_sha", "head_sha", "engine", "model", "profile", "stage_digest", "context_digest", "learning_digest"],
482
+ "required": [
483
+ "repository",
484
+ "pull_request",
485
+ "base_sha",
486
+ "head_sha",
487
+ "engine",
488
+ "model",
489
+ "profile",
490
+ "stage_digest",
491
+ "context_digest",
492
+ "learning_digest"
493
+ ],
264
494
  "properties": {
265
- "repository": {"type": "string", "maxLength": 256},
266
- "pull_request": {"type": "integer", "minimum": 1},
267
- "base_sha": {"type": "string", "pattern": "^[a-f0-9]{40}$"},
268
- "head_sha": {"type": "string", "pattern": "^[a-f0-9]{40}$"},
269
- "engine": {"type": "string", "maxLength": 256},
270
- "model": {"type": "string", "maxLength": 256},
271
- "profile": {"type": "string", "maxLength": 256},
272
- "stage_digest": {"type": "string", "pattern": "^[a-f0-9]{64}$"},
273
- "context_digest": {"type": "string", "pattern": "^[a-f0-9]{64}$"},
274
- "learning_digest": {"type": "string", "pattern": "^[a-f0-9]{64}$"}
495
+ "repository": {
496
+ "type": "string",
497
+ "maxLength": 256
498
+ },
499
+ "pull_request": {
500
+ "type": "integer",
501
+ "minimum": 1
502
+ },
503
+ "base_sha": {
504
+ "type": "string",
505
+ "pattern": "^[a-f0-9]{40}$"
506
+ },
507
+ "head_sha": {
508
+ "type": "string",
509
+ "pattern": "^[a-f0-9]{40}$"
510
+ },
511
+ "engine": {
512
+ "type": "string",
513
+ "maxLength": 256
514
+ },
515
+ "model": {
516
+ "type": "string",
517
+ "maxLength": 256
518
+ },
519
+ "profile": {
520
+ "type": "string",
521
+ "maxLength": 256
522
+ },
523
+ "stage_digest": {
524
+ "type": "string",
525
+ "pattern": "^[a-f0-9]{64}$"
526
+ },
527
+ "context_digest": {
528
+ "type": "string",
529
+ "pattern": "^[a-f0-9]{64}$"
530
+ },
531
+ "learning_digest": {
532
+ "type": "string",
533
+ "pattern": "^[a-f0-9]{64}$"
534
+ }
275
535
  }
276
536
  },
277
- "policy_digest": {"type": "string", "pattern": "^[a-f0-9]{64}$"},
278
- "complete": {"type": "boolean"},
279
- "coverage_complete": {"type": "boolean"},
280
- "generation": {"type": "integer", "minimum": 0},
537
+ "policy_digest": {
538
+ "type": "string",
539
+ "pattern": "^[a-f0-9]{64}$"
540
+ },
541
+ "complete": {
542
+ "type": "boolean"
543
+ },
544
+ "coverage_complete": {
545
+ "type": "boolean"
546
+ },
547
+ "generation": {
548
+ "type": "integer",
549
+ "minimum": 0
550
+ },
281
551
  "findings": {
282
552
  "type": "array",
283
553
  "maxItems": 3,
284
554
  "items": {
285
555
  "type": "object",
286
556
  "additionalProperties": false,
287
- "required": ["fingerprint", "resolution_criterion", "concern", "path", "symbol", "defect_kind", "generation", "blocking"],
557
+ "required": [
558
+ "fingerprint",
559
+ "resolution_criterion",
560
+ "concern",
561
+ "path",
562
+ "symbol",
563
+ "defect_kind",
564
+ "generation",
565
+ "blocking"
566
+ ],
288
567
  "properties": {
289
- "fingerprint": {"type": "string", "pattern": "^[a-f0-9]{64}$"},
290
- "resolution_criterion": {"type": "string", "pattern": "^[a-f0-9]{64}$"},
291
- "concern": {"type": ["string", "null"], "pattern": "^[a-f0-9]{64}$"},
292
- "path": {"type": ["string", "null"], "maxLength": 256},
293
- "symbol": {"type": ["string", "null"], "maxLength": 256},
294
- "defect_kind": {"type": "string", "maxLength": 128},
295
- "generation": {"type": "integer", "minimum": 0},
296
- "blocking": {"type": "boolean"}
568
+ "fingerprint": {
569
+ "type": "string",
570
+ "pattern": "^[a-f0-9]{64}$"
571
+ },
572
+ "resolution_criterion": {
573
+ "type": "string",
574
+ "pattern": "^[a-f0-9]{64}$"
575
+ },
576
+ "concern": {
577
+ "type": [
578
+ "string",
579
+ "null"
580
+ ],
581
+ "pattern": "^[a-f0-9]{64}$"
582
+ },
583
+ "path": {
584
+ "type": [
585
+ "string",
586
+ "null"
587
+ ],
588
+ "maxLength": 256
589
+ },
590
+ "symbol": {
591
+ "type": [
592
+ "string",
593
+ "null"
594
+ ],
595
+ "maxLength": 256
596
+ },
597
+ "defect_kind": {
598
+ "type": "string",
599
+ "maxLength": 128
600
+ },
601
+ "generation": {
602
+ "type": "integer",
603
+ "minimum": 0
604
+ },
605
+ "blocking": {
606
+ "type": "boolean"
607
+ }
297
608
  }
298
609
  }
299
610
  },
300
- "reviewed_paths": {"type": "array", "maxItems": 512, "items": {"type": "string", "maxLength": 256}},
301
- "related_paths": {"type": "array", "maxItems": 64, "items": {"type": "string", "maxLength": 256}}
611
+ "reviewed_paths": {
612
+ "type": "array",
613
+ "maxItems": 512,
614
+ "items": {
615
+ "type": "string",
616
+ "maxLength": 256
617
+ }
618
+ },
619
+ "related_paths": {
620
+ "type": "array",
621
+ "maxItems": 64,
622
+ "items": {
623
+ "type": "string",
624
+ "maxLength": 256
625
+ }
626
+ }
302
627
  }
303
628
  },
304
629
  {
@@ -330,7 +655,9 @@
330
655
  }
331
656
  }
332
657
  },
333
- {"$ref": "https://reviewsensei.dev/schemas/v1/evidence-manifest.schema.json"}
658
+ {
659
+ "$ref": "https://reviewsensei.dev/schemas/v1/evidence-manifest.schema.json"
660
+ }
334
661
  ]
335
662
  },
336
663
  "progress": {
@@ -339,31 +666,83 @@
339
666
  "items": {
340
667
  "type": "object",
341
668
  "additionalProperties": false,
342
- "required": ["event", "generation"],
669
+ "required": [
670
+ "event",
671
+ "generation"
672
+ ],
343
673
  "properties": {
344
- "event": {"enum": ["completed", "invalidated", "recovery-required"]},
345
- "generation": {"type": "integer", "minimum": 0, "maximum": 2147483647},
346
- "blocker_set_sha256": {"type": "string", "pattern": "^[a-f0-9]{64}$"},
347
- "blocker_count": {"type": "integer", "minimum": 0, "maximum": 4096},
348
- "transaction_id": {"type": "string", "pattern": "^[a-f0-9]{64}$"}
674
+ "event": {
675
+ "enum": [
676
+ "completed",
677
+ "invalidated",
678
+ "recovery-required"
679
+ ]
680
+ },
681
+ "generation": {
682
+ "type": "integer",
683
+ "minimum": 0,
684
+ "maximum": 2147483647
685
+ },
686
+ "blocker_set_sha256": {
687
+ "type": "string",
688
+ "pattern": "^[a-f0-9]{64}$"
689
+ },
690
+ "blocker_count": {
691
+ "type": "integer",
692
+ "minimum": 0,
693
+ "maximum": 4096
694
+ },
695
+ "transaction_id": {
696
+ "type": "string",
697
+ "pattern": "^[a-f0-9]{64}$"
698
+ }
349
699
  },
350
700
  "allOf": [
351
701
  {
352
- "if": {"required": ["blocker_set_sha256"]},
702
+ "if": {
703
+ "required": [
704
+ "blocker_set_sha256"
705
+ ]
706
+ },
353
707
  "then": {
354
- "required": ["blocker_count"],
355
- "properties": {"event": {"const": "completed"}}
708
+ "required": [
709
+ "blocker_count"
710
+ ],
711
+ "properties": {
712
+ "event": {
713
+ "const": "completed"
714
+ }
715
+ }
356
716
  }
357
717
  },
358
718
  {
359
- "if": {"required": ["blocker_count"]},
360
- "then": {"required": ["blocker_set_sha256"]}
719
+ "if": {
720
+ "required": [
721
+ "blocker_count"
722
+ ]
723
+ },
724
+ "then": {
725
+ "required": [
726
+ "blocker_set_sha256"
727
+ ]
728
+ }
361
729
  },
362
730
  {
363
- "if": {"required": ["transaction_id"]},
731
+ "if": {
732
+ "required": [
733
+ "transaction_id"
734
+ ]
735
+ },
364
736
  "then": {
365
- "required": ["blocker_set_sha256", "blocker_count"],
366
- "properties": {"event": {"const": "completed"}}
737
+ "required": [
738
+ "blocker_set_sha256",
739
+ "blocker_count"
740
+ ],
741
+ "properties": {
742
+ "event": {
743
+ "const": "completed"
744
+ }
745
+ }
367
746
  }
368
747
  }
369
748
  ]
@@ -372,46 +751,218 @@
372
751
  "provenance": {
373
752
  "type": "object",
374
753
  "additionalProperties": false,
375
- "required": ["ledger_digest"],
376
- "properties": {"ledger_digest": {"type": "string", "pattern": "^[a-f0-9]{64}$"}}
754
+ "required": [
755
+ "ledger_digest"
756
+ ],
757
+ "properties": {
758
+ "ledger_digest": {
759
+ "type": "string",
760
+ "pattern": "^[a-f0-9]{64}$"
761
+ }
762
+ }
763
+ }
764
+ }
765
+ },
766
+ "quarantine_lineage": {
767
+ "$ref": "https://reviewsensei.dev/schemas/v1/quarantine-lineage.schema.json"
768
+ },
769
+ "publication_staging": {
770
+ "description": "Closed bounded frontier for a multipart native publication. Unknown attempts are retained.",
771
+ "type": "object",
772
+ "additionalProperties": false,
773
+ "required": [
774
+ "schema_version",
775
+ "transaction_id",
776
+ "result_sha256",
777
+ "plan_sha256",
778
+ "part_count",
779
+ "attempted_parts",
780
+ "attempt_tokens",
781
+ "receipts",
782
+ "final_attempted",
783
+ "final_token",
784
+ "final_receipt",
785
+ "manifest_required",
786
+ "manifest_attempted",
787
+ "manifest_token",
788
+ "manifest_receipt"
789
+ ],
790
+ "properties": {
791
+ "schema_version": {
792
+ "const": "publication-staging-v2"
793
+ },
794
+ "transaction_id": {
795
+ "type": "string",
796
+ "pattern": "^[a-f0-9]{64}$"
797
+ },
798
+ "result_sha256": {
799
+ "type": "string",
800
+ "pattern": "^[a-f0-9]{64}$"
801
+ },
802
+ "plan_sha256": {
803
+ "type": "string",
804
+ "pattern": "^[a-f0-9]{64}$"
805
+ },
806
+ "part_count": {
807
+ "type": "integer",
808
+ "minimum": 0,
809
+ "maximum": 8
810
+ },
811
+ "attempted_parts": {
812
+ "type": "integer",
813
+ "minimum": 0,
814
+ "maximum": 8
815
+ },
816
+ "attempt_tokens": {
817
+ "type": "array",
818
+ "maxItems": 8,
819
+ "uniqueItems": true,
820
+ "items": {"type": "string", "pattern": "^[a-f0-9]{32}$"}
821
+ },
822
+ "receipts": {
823
+ "type": "array",
824
+ "maxItems": 8,
825
+ "items": {
826
+ "type": "object",
827
+ "additionalProperties": false,
828
+ "required": [
829
+ "native_id",
830
+ "content_sha256"
831
+ ],
832
+ "properties": {
833
+ "native_id": {
834
+ "type": "string",
835
+ "pattern": "^[A-Za-z0-9_:.=-]{1,64}$"
836
+ },
837
+ "content_sha256": {
838
+ "type": "string",
839
+ "pattern": "^[a-f0-9]{64}$"
840
+ }
841
+ }
842
+ }
843
+ },
844
+ "final_attempted": {
845
+ "type": "boolean"
846
+ },
847
+ "final_token": {
848
+ "anyOf": [
849
+ {"type": "string", "pattern": "^[a-f0-9]{32}$"},
850
+ {"type": "null"}
851
+ ]
852
+ },
853
+ "manifest_required": {"type": "boolean"},
854
+ "manifest_attempted": {"type": "boolean"},
855
+ "manifest_token": {
856
+ "anyOf": [
857
+ {"type": "string", "pattern": "^[a-f0-9]{32}$"},
858
+ {"type": "null"}
859
+ ]
860
+ },
861
+ "manifest_receipt": {
862
+ "anyOf": [
863
+ {
864
+ "type": "object", "additionalProperties": false,
865
+ "required": ["native_id", "content_sha256"],
866
+ "properties": {
867
+ "native_id": {"type": "string", "pattern": "^[A-Za-z0-9_:.=-]{1,64}$"},
868
+ "content_sha256": {"type": "string", "pattern": "^[a-f0-9]{64}$"}
869
+ }
870
+ },
871
+ {"type": "null"}
872
+ ]
873
+ },
874
+ "final_receipt": {
875
+ "anyOf": [
876
+ {
877
+ "type": "object",
878
+ "additionalProperties": false,
879
+ "required": [
880
+ "native_id",
881
+ "content_sha256"
882
+ ],
883
+ "properties": {
884
+ "native_id": {
885
+ "type": "string",
886
+ "pattern": "^[A-Za-z0-9_:.=-]{1,64}$"
887
+ },
888
+ "content_sha256": {
889
+ "type": "string",
890
+ "pattern": "^[a-f0-9]{64}$"
891
+ }
892
+ }
893
+ },
894
+ {
895
+ "type": "null"
896
+ }
897
+ ]
377
898
  }
378
899
  }
379
900
  }
380
901
  },
381
902
  "allOf": [
382
903
  {
383
- "if": {"required": ["reservation_owner"]},
904
+ "if": {
905
+ "required": [
906
+ "reservation_owner"
907
+ ]
908
+ },
384
909
  "then": {
385
910
  "properties": {
386
- "reservation_id": {"type": "string"},
387
- "reserved_slot": {"type": "string"}
911
+ "reservation_id": {
912
+ "type": "string"
913
+ },
914
+ "reserved_slot": {
915
+ "type": "string"
916
+ }
388
917
  }
389
918
  }
390
919
  },
391
920
  {
392
921
  "if": {
393
- "required": ["transaction"],
922
+ "required": [
923
+ "transaction"
924
+ ],
394
925
  "properties": {
395
926
  "transaction": {
396
- "required": ["phase"],
397
- "properties": {"phase": {"const": "analysis"}}
927
+ "required": [
928
+ "phase"
929
+ ],
930
+ "properties": {
931
+ "phase": {
932
+ "const": "analysis"
933
+ }
934
+ }
398
935
  }
399
936
  }
400
937
  },
401
938
  "then": {
402
- "required": ["reservation_id", "reserved_slot"],
939
+ "required": [
940
+ "reservation_id",
941
+ "reserved_slot"
942
+ ],
403
943
  "properties": {
404
- "reservation_id": {"type": "string"},
405
- "reserved_slot": {"enum": ["initial", "verification"]}
944
+ "reservation_id": {
945
+ "type": "string"
946
+ },
947
+ "reserved_slot": {
948
+ "enum": [
949
+ "initial",
950
+ "verification"
951
+ ]
952
+ }
406
953
  }
407
954
  }
408
955
  },
409
956
  {
410
957
  "if": {
411
- "required": ["transaction"],
958
+ "required": [
959
+ "transaction"
960
+ ],
412
961
  "properties": {
413
962
  "transaction": {
414
- "required": ["phase"],
963
+ "required": [
964
+ "phase"
965
+ ],
415
966
  "properties": {
416
967
  "phase": {
417
968
  "enum": [
@@ -428,40 +979,72 @@
428
979
  },
429
980
  "then": {
430
981
  "properties": {
431
- "reservation_id": {"type": "null"},
432
- "reserved_slot": {"type": "null"}
982
+ "reservation_id": {
983
+ "type": "null"
984
+ },
985
+ "reserved_slot": {
986
+ "type": "null"
987
+ }
433
988
  }
434
989
  }
435
990
  },
436
991
  {
437
992
  "if": {
438
- "required": ["convergence_history"],
993
+ "required": [
994
+ "convergence_history"
995
+ ],
439
996
  "properties": {
440
997
  "convergence_history": {
441
- "required": ["state"],
442
- "properties": {"state": {"const": "completed"}}
998
+ "required": [
999
+ "state"
1000
+ ],
1001
+ "properties": {
1002
+ "state": {
1003
+ "const": "completed"
1004
+ }
1005
+ }
443
1006
  }
444
1007
  }
445
1008
  },
446
1009
  "then": {
447
1010
  "properties": {
448
- "convergence_history": {"required": ["baseline"]}
1011
+ "convergence_history": {
1012
+ "required": [
1013
+ "baseline"
1014
+ ]
1015
+ }
449
1016
  }
450
1017
  }
451
1018
  },
452
1019
  {
453
1020
  "if": {
454
- "required": ["convergence_history"],
1021
+ "required": [
1022
+ "convergence_history"
1023
+ ],
455
1024
  "properties": {
456
1025
  "convergence_history": {
457
- "required": ["state"],
458
- "properties": {"state": {"not": {"const": "completed"}}}
1026
+ "required": [
1027
+ "state"
1028
+ ],
1029
+ "properties": {
1030
+ "state": {
1031
+ "not": {
1032
+ "const": "completed"
1033
+ }
1034
+ }
1035
+ }
459
1036
  }
460
1037
  }
461
1038
  },
462
1039
  "then": {
463
1040
  "properties": {
464
- "convergence_history": {"not": {"required": ["baseline"]}}
1041
+ "convergence_history": {
1042
+ "not": {
1043
+ "required": [
1044
+ "baseline"
1045
+ ]
1046
+ }
1047
+ }
465
1048
  }
466
1049
  }
467
1050
  }