@8lines/gauntlet-protocol 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +265 -0
  3. package/dist/environment.d.ts +3 -0
  4. package/dist/environment.d.ts.map +1 -0
  5. package/dist/environment.js +32 -0
  6. package/dist/environment.js.map +1 -0
  7. package/dist/identifiers.d.ts +4 -0
  8. package/dist/identifiers.d.ts.map +1 -0
  9. package/dist/identifiers.js +5 -0
  10. package/dist/identifiers.js.map +1 -0
  11. package/dist/index.d.ts +8 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +8 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/placements.d.ts +5 -0
  16. package/dist/placements.d.ts.map +1 -0
  17. package/dist/placements.js +99 -0
  18. package/dist/placements.js.map +1 -0
  19. package/dist/portable-pattern.d.ts +2 -0
  20. package/dist/portable-pattern.d.ts.map +1 -0
  21. package/dist/portable-pattern.js +450 -0
  22. package/dist/portable-pattern.js.map +1 -0
  23. package/dist/preset-secrets.d.ts +7 -0
  24. package/dist/preset-secrets.d.ts.map +1 -0
  25. package/dist/preset-secrets.js +694 -0
  26. package/dist/preset-secrets.js.map +1 -0
  27. package/dist/revision.d.ts +11 -0
  28. package/dist/revision.d.ts.map +1 -0
  29. package/dist/revision.js +135 -0
  30. package/dist/revision.js.map +1 -0
  31. package/dist/schema-profile.d.ts +5 -0
  32. package/dist/schema-profile.d.ts.map +1 -0
  33. package/dist/schema-profile.js +295 -0
  34. package/dist/schema-profile.js.map +1 -0
  35. package/dist/semantic-validation.d.ts +24 -0
  36. package/dist/semantic-validation.d.ts.map +1 -0
  37. package/dist/semantic-validation.js +321 -0
  38. package/dist/semantic-validation.js.map +1 -0
  39. package/dist/types.d.ts +437 -0
  40. package/dist/types.d.ts.map +1 -0
  41. package/dist/types.js +2 -0
  42. package/dist/types.js.map +1 -0
  43. package/fixtures/v1/adapter-semantic-vectors.json +3257 -0
  44. package/fixtures/v1/adapter-semantic-vectors.schema.json +519 -0
  45. package/fixtures/v1/create-run-request.valid.json +33 -0
  46. package/fixtures/v1/data-source-page.valid.json +18 -0
  47. package/fixtures/v1/data-source-query.valid.json +12 -0
  48. package/fixtures/v1/data-source-resolve-request.valid.json +10 -0
  49. package/fixtures/v1/data-source-resolve-response.valid.json +17 -0
  50. package/fixtures/v1/health.valid.json +4 -0
  51. package/fixtures/v1/jcs-revision-vectors.json +114 -0
  52. package/fixtures/v1/manifest.invalid-major-version.json +18 -0
  53. package/fixtures/v1/manifest.invalid-unknown-property.json +27 -0
  54. package/fixtures/v1/manifest.minor-forward.valid.json +142 -0
  55. package/fixtures/v1/manifest.valid.json +137 -0
  56. package/fixtures/v1/operation.invalid-remote-ref.json +28 -0
  57. package/fixtures/v1/operation.invalid-schema-profile.json +28 -0
  58. package/fixtures/v1/operation.invalid-unsafe-id.json +28 -0
  59. package/fixtures/v1/operation.valid.json +227 -0
  60. package/fixtures/v1/problem.unsupported-capability.valid.json +7 -0
  61. package/fixtures/v1/problem.valid.json +8 -0
  62. package/fixtures/v1/problem.validation.valid.json +16 -0
  63. package/fixtures/v1/run-event.valid.json +21 -0
  64. package/fixtures/v1/run.cancelled.valid.json +17 -0
  65. package/fixtures/v1/run.failed.valid.json +32 -0
  66. package/fixtures/v1/run.invalid-active-problem.json +16 -0
  67. package/fixtures/v1/run.invalid-cancelled-problem.json +17 -0
  68. package/fixtures/v1/run.invalid-terminal-without-problem.json +12 -0
  69. package/fixtures/v1/run.invalid-timed-out-status.json +18 -0
  70. package/fixtures/v1/run.queued.valid.json +15 -0
  71. package/fixtures/v1/run.succeeded.valid.json +68 -0
  72. package/fixtures/v1/run.timed-out.valid.json +18 -0
  73. package/fixtures/v1/session-launch.valid.json +5 -0
  74. package/fixtures/v1/tc-schema-core-pattern-vectors.json +450 -0
  75. package/fixtures/v1/upload-response.valid.json +11 -0
  76. package/openapi/adapter-v1.yaml +251 -0
  77. package/package.json +41 -0
  78. package/schemas/v1/common.schema.json +558 -0
  79. package/schemas/v1/create-run-request.schema.json +16 -0
  80. package/schemas/v1/data-source-page.schema.json +15 -0
  81. package/schemas/v1/data-source-query.schema.json +14 -0
  82. package/schemas/v1/data-source-resolve-request.schema.json +16 -0
  83. package/schemas/v1/data-source-resolve-response.schema.json +27 -0
  84. package/schemas/v1/health.schema.json +12 -0
  85. package/schemas/v1/manifest.schema.json +147 -0
  86. package/schemas/v1/operation-definition.schema.json +326 -0
  87. package/schemas/v1/problem.schema.json +5 -0
  88. package/schemas/v1/run-event.schema.json +15 -0
  89. package/schemas/v1/run.schema.json +95 -0
  90. package/schemas/v1/session-launch.schema.json +13 -0
  91. package/schemas/v1/upload.schema.json +11 -0
@@ -0,0 +1,3257 @@
1
+ {
2
+ "$schema": "https://schemas.8lines.dev/gauntlet/fixtures/v1/adapter-semantic-vectors.schema.json",
3
+ "format": "tc-adapter-semantic-vectors@1",
4
+ "patchProfile": "rfc6902-test-subset@1",
5
+ "presetAssemblyProfile": "tc-preset-operation@1",
6
+ "workloadProfile": "tc-preset-workloads@1",
7
+ "sourceFixtures": [
8
+ {
9
+ "id": "manifest",
10
+ "file": "manifest.valid.json",
11
+ "sha256": "sha256:1bca35d1dcd17847fd5e97a74e6803adbc7dad62a5ea2681f65ffcaca56d0fb5",
12
+ "revisionField": "manifestRevision"
13
+ },
14
+ {
15
+ "id": "operation",
16
+ "file": "operation.valid.json",
17
+ "sha256": "sha256:8e0d52a085c4d5b2392ae03269a74f267806914648f735d34be89e20046e8cf0",
18
+ "revisionField": "revision"
19
+ },
20
+ {
21
+ "id": "resolve-request",
22
+ "file": "data-source-resolve-request.valid.json",
23
+ "sha256": "sha256:fb7afb06128bfc2e6edaa827e32dc6fa48484f624010ff5d40c16d8d0a7a5856"
24
+ },
25
+ {
26
+ "id": "resolve-response",
27
+ "file": "data-source-resolve-response.valid.json",
28
+ "sha256": "sha256:37c5ef68864df86e3083d395bb9fe6d506c9ec436f4aca146016668bbb2b03fb"
29
+ }
30
+ ],
31
+ "presetAnalysisLimits": {
32
+ "maxGraphNodes": 250000,
33
+ "maxGraphEdges": 500000,
34
+ "maxPresetVisits": 500000,
35
+ "minimumVisitBudget": 8192,
36
+ "graphNodeWeight": 4,
37
+ "graphEdgeWeight": 2,
38
+ "inputNodeWeight": 64,
39
+ "routeCountSaturation": 2
40
+ },
41
+ "documentVectors": [
42
+ {
43
+ "id": "manifest.valid",
44
+ "predicate": "manifest",
45
+ "precondition": "envelope-valid",
46
+ "document": {
47
+ "source": "manifest",
48
+ "patches": [],
49
+ "revision": {
50
+ "mode": "preserve",
51
+ "expect": "match"
52
+ }
53
+ },
54
+ "expected": true
55
+ },
56
+ {
57
+ "id": "manifest.stale-revision",
58
+ "predicate": "manifest",
59
+ "precondition": "envelope-valid",
60
+ "document": {
61
+ "source": "manifest",
62
+ "patches": [
63
+ {
64
+ "op": "replace",
65
+ "path": "/application/label",
66
+ "value": "Changed without a new revision"
67
+ }
68
+ ],
69
+ "revision": {
70
+ "mode": "preserve",
71
+ "expect": "mismatch"
72
+ }
73
+ },
74
+ "expected": false
75
+ },
76
+ {
77
+ "id": "manifest.environment.production-name",
78
+ "predicate": "manifest",
79
+ "precondition": "envelope-valid",
80
+ "document": {
81
+ "source": "manifest",
82
+ "patches": [
83
+ {
84
+ "op": "replace",
85
+ "path": "/application/environment/name",
86
+ "value": "acme-prod-eu"
87
+ }
88
+ ],
89
+ "revision": {
90
+ "mode": "set",
91
+ "value": "sha256:0a7c63eb0f7401834b349fb9063087e372b681e1c5f735baa3d2c731e960a575",
92
+ "expect": "match"
93
+ }
94
+ },
95
+ "expected": false
96
+ },
97
+ {
98
+ "id": "manifest.feature.duplicate-id",
99
+ "predicate": "manifest",
100
+ "precondition": "envelope-valid",
101
+ "document": {
102
+ "source": "manifest",
103
+ "patches": [
104
+ {
105
+ "op": "copy",
106
+ "from": "/features/0",
107
+ "path": "/features/-"
108
+ }
109
+ ],
110
+ "revision": {
111
+ "mode": "set",
112
+ "value": "sha256:95ffd2eea592347adb49a319e52d00385a681bd63e7144905debb60e06dcec80",
113
+ "expect": "match"
114
+ }
115
+ },
116
+ "expected": false
117
+ },
118
+ {
119
+ "id": "manifest.feature.missing-parent",
120
+ "predicate": "manifest",
121
+ "precondition": "envelope-valid",
122
+ "document": {
123
+ "source": "manifest",
124
+ "patches": [
125
+ {
126
+ "op": "add",
127
+ "path": "/features/-",
128
+ "value": {
129
+ "id": "missing-parent-child",
130
+ "label": "Missing parent child",
131
+ "parentId": "missing-parent"
132
+ }
133
+ }
134
+ ],
135
+ "revision": {
136
+ "mode": "set",
137
+ "value": "sha256:552d9c85d660d38ca8562aaa6cc178b92bb800d779a739a3e0eeaf6845b8af5d",
138
+ "expect": "match"
139
+ }
140
+ },
141
+ "expected": false
142
+ },
143
+ {
144
+ "id": "manifest.feature.cycle",
145
+ "predicate": "manifest",
146
+ "precondition": "envelope-valid",
147
+ "document": {
148
+ "source": "manifest",
149
+ "patches": [
150
+ {
151
+ "op": "add",
152
+ "path": "/features/-",
153
+ "value": {
154
+ "id": "cycle-a",
155
+ "label": "Cycle A",
156
+ "parentId": "cycle-b"
157
+ }
158
+ },
159
+ {
160
+ "op": "add",
161
+ "path": "/features/-",
162
+ "value": {
163
+ "id": "cycle-b",
164
+ "label": "Cycle B",
165
+ "parentId": "cycle-a"
166
+ }
167
+ }
168
+ ],
169
+ "revision": {
170
+ "mode": "set",
171
+ "value": "sha256:7fd8a0523415c8c019a686a929703b6949f911f8c60dbde887947b351e410786",
172
+ "expect": "match"
173
+ }
174
+ },
175
+ "expected": false
176
+ },
177
+ {
178
+ "id": "manifest.operation.duplicate-id",
179
+ "predicate": "manifest",
180
+ "precondition": "envelope-valid",
181
+ "document": {
182
+ "source": "manifest",
183
+ "patches": [
184
+ {
185
+ "op": "copy",
186
+ "from": "/operations/0",
187
+ "path": "/operations/-"
188
+ }
189
+ ],
190
+ "revision": {
191
+ "mode": "set",
192
+ "value": "sha256:7f2e81f3416b4c6002fa782c19b0cf7d42ac6a61e7c6402117714a4adfe79f4b",
193
+ "expect": "match"
194
+ }
195
+ },
196
+ "expected": false
197
+ },
198
+ {
199
+ "id": "manifest.data-source.duplicate-id",
200
+ "predicate": "manifest",
201
+ "precondition": "envelope-valid",
202
+ "document": {
203
+ "source": "manifest",
204
+ "patches": [
205
+ {
206
+ "op": "copy",
207
+ "from": "/dataSources/0",
208
+ "path": "/dataSources/-"
209
+ }
210
+ ],
211
+ "revision": {
212
+ "mode": "set",
213
+ "value": "sha256:18e60b2391a0386010876a9e3ae52886d7beaacb9751a33872db48d19ffdc6b2",
214
+ "expect": "match"
215
+ }
216
+ },
217
+ "expected": false
218
+ },
219
+ {
220
+ "id": "manifest.unavailable.missing-profile",
221
+ "predicate": "manifest",
222
+ "precondition": "envelope-valid",
223
+ "document": {
224
+ "source": "manifest",
225
+ "patches": [
226
+ {
227
+ "op": "remove",
228
+ "path": "/profiles/2"
229
+ },
230
+ {
231
+ "op": "replace",
232
+ "path": "/operations/0/availability",
233
+ "value": {
234
+ "state": "unavailable",
235
+ "problem": {
236
+ "type": "urn:gauntlet:problem:unsupported-capability",
237
+ "title": "Operation requirements are unavailable",
238
+ "status": 501
239
+ }
240
+ }
241
+ }
242
+ ],
243
+ "revision": {
244
+ "mode": "set",
245
+ "value": "sha256:c99b6e365c6753251aad93461dfb55b2b0620c20eee38688bfe387716d9c7d3a",
246
+ "expect": "match"
247
+ }
248
+ },
249
+ "expected": true
250
+ },
251
+ {
252
+ "id": "manifest.unavailable.missing-capability",
253
+ "predicate": "manifest",
254
+ "precondition": "envelope-valid",
255
+ "document": {
256
+ "source": "manifest",
257
+ "patches": [
258
+ {
259
+ "op": "remove",
260
+ "path": "/capabilities/1"
261
+ },
262
+ {
263
+ "op": "replace",
264
+ "path": "/operations/0/availability",
265
+ "value": {
266
+ "state": "unavailable",
267
+ "problem": {
268
+ "type": "urn:gauntlet:problem:unsupported-capability",
269
+ "title": "Operation requirements are unavailable",
270
+ "status": 501
271
+ }
272
+ }
273
+ }
274
+ ],
275
+ "revision": {
276
+ "mode": "set",
277
+ "value": "sha256:b090620310525819f3950d5289775ac2d03b1ee3f815f892bdd0c914a31d5a47",
278
+ "expect": "match"
279
+ }
280
+ },
281
+ "expected": true
282
+ },
283
+ {
284
+ "id": "manifest.unavailable.missing-mixed",
285
+ "predicate": "manifest",
286
+ "precondition": "envelope-valid",
287
+ "document": {
288
+ "source": "manifest",
289
+ "patches": [
290
+ {
291
+ "op": "remove",
292
+ "path": "/profiles/1"
293
+ },
294
+ {
295
+ "op": "remove",
296
+ "path": "/capabilities/0"
297
+ },
298
+ {
299
+ "op": "replace",
300
+ "path": "/operations/0/availability",
301
+ "value": {
302
+ "state": "unavailable",
303
+ "problem": {
304
+ "type": "urn:gauntlet:problem:unsupported-capability",
305
+ "title": "Operation requirements are unavailable",
306
+ "status": 501
307
+ }
308
+ }
309
+ }
310
+ ],
311
+ "revision": {
312
+ "mode": "set",
313
+ "value": "sha256:5b90232addf85bb7734aa678d3e78e764982b4cd749bf0d187bc1f88c84909e8",
314
+ "expect": "match"
315
+ }
316
+ },
317
+ "expected": true
318
+ },
319
+ {
320
+ "id": "manifest.available.missing-profile",
321
+ "predicate": "manifest",
322
+ "precondition": "envelope-valid",
323
+ "document": {
324
+ "source": "manifest",
325
+ "patches": [
326
+ {
327
+ "op": "remove",
328
+ "path": "/profiles/2"
329
+ }
330
+ ],
331
+ "revision": {
332
+ "mode": "set",
333
+ "value": "sha256:4c029f4d0ca6ed83603ce82d1f310a615bfc01f668ed4220f7b639ec9d3a3a17",
334
+ "expect": "match"
335
+ }
336
+ },
337
+ "expected": false
338
+ },
339
+ {
340
+ "id": "manifest.available.missing-capability",
341
+ "predicate": "manifest",
342
+ "precondition": "envelope-valid",
343
+ "document": {
344
+ "source": "manifest",
345
+ "patches": [
346
+ {
347
+ "op": "remove",
348
+ "path": "/capabilities/1"
349
+ }
350
+ ],
351
+ "revision": {
352
+ "mode": "set",
353
+ "value": "sha256:5c289ffa6123cc648792f731b086e58d9c419ef28e0276eb6693d9b9561c0b22",
354
+ "expect": "match"
355
+ }
356
+ },
357
+ "expected": false
358
+ },
359
+ {
360
+ "id": "manifest.available.missing-mixed",
361
+ "predicate": "manifest",
362
+ "precondition": "envelope-valid",
363
+ "document": {
364
+ "source": "manifest",
365
+ "patches": [
366
+ {
367
+ "op": "remove",
368
+ "path": "/profiles/1"
369
+ },
370
+ {
371
+ "op": "remove",
372
+ "path": "/capabilities/0"
373
+ }
374
+ ],
375
+ "revision": {
376
+ "mode": "set",
377
+ "value": "sha256:302170623f9ad09186eb36e69447d0bfd93446ce10a4891303bffdc12a6ebf77",
378
+ "expect": "match"
379
+ }
380
+ },
381
+ "expected": false
382
+ },
383
+ {
384
+ "id": "manifest.diagnostic.omitted-operation-id",
385
+ "predicate": "manifest",
386
+ "precondition": "envelope-valid",
387
+ "document": {
388
+ "source": "manifest",
389
+ "patches": [
390
+ {
391
+ "op": "add",
392
+ "path": "/diagnostics",
393
+ "value": [
394
+ {
395
+ "severity": "error",
396
+ "code": "invalid-operation-binding",
397
+ "message": "The operation binding is invalid.",
398
+ "operationId": "omitted-operation"
399
+ }
400
+ ]
401
+ }
402
+ ],
403
+ "revision": {
404
+ "mode": "set",
405
+ "value": "sha256:2b70e0c6bd8a66bdaad52e43bd5f97823b856af175fb638123b4d8e042daa6b7",
406
+ "expect": "match"
407
+ }
408
+ },
409
+ "expected": true
410
+ },
411
+ {
412
+ "id": "manifest.operation.unknown-feature",
413
+ "predicate": "manifest",
414
+ "precondition": "envelope-valid",
415
+ "document": {
416
+ "source": "manifest",
417
+ "patches": [
418
+ {
419
+ "op": "replace",
420
+ "path": "/operations/0/featureId",
421
+ "value": "unknown-feature"
422
+ }
423
+ ],
424
+ "revision": {
425
+ "mode": "set",
426
+ "value": "sha256:ac6397a253d57b56551ee4dd22d19391f50b440ddc7cca6b807347e96d56369f",
427
+ "expect": "match"
428
+ }
429
+ },
430
+ "expected": false
431
+ },
432
+ {
433
+ "id": "manifest.data-source.invalid-limits",
434
+ "predicate": "manifest",
435
+ "precondition": "envelope-valid",
436
+ "document": {
437
+ "source": "manifest",
438
+ "patches": [
439
+ {
440
+ "op": "replace",
441
+ "path": "/dataSources/0/capabilities/defaultLimit",
442
+ "value": 101
443
+ },
444
+ {
445
+ "op": "replace",
446
+ "path": "/dataSources/0/capabilities/maxLimit",
447
+ "value": 100
448
+ }
449
+ ],
450
+ "revision": {
451
+ "mode": "set",
452
+ "value": "sha256:ec6be3a20f3a3b125b27b4c8d6145a1a3cb084e9a3f15ab098a0e3e83237df29",
453
+ "expect": "match"
454
+ }
455
+ },
456
+ "expected": false
457
+ },
458
+ {
459
+ "id": "manifest.data-source.remote-dependency-schema",
460
+ "predicate": "manifest",
461
+ "precondition": "envelope-valid",
462
+ "document": {
463
+ "source": "manifest",
464
+ "patches": [
465
+ {
466
+ "op": "replace",
467
+ "path": "/dataSources/0/dependencySchema",
468
+ "value": {
469
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
470
+ "type": "object",
471
+ "$ref": "https://example.invalid/schema.json"
472
+ }
473
+ }
474
+ ],
475
+ "revision": {
476
+ "mode": "set",
477
+ "value": "sha256:9d46087c9ed39e02905ba972c339caaf19b242b95fc0e19f4492bfd49c62cdf1",
478
+ "expect": "match"
479
+ }
480
+ },
481
+ "expected": false
482
+ },
483
+ {
484
+ "id": "manifest.data-source.non-object-context-schema",
485
+ "predicate": "manifest",
486
+ "precondition": "owned-json-defensive",
487
+ "document": {
488
+ "source": "manifest",
489
+ "patches": [
490
+ {
491
+ "op": "replace",
492
+ "path": "/dataSources/0/contextSchema",
493
+ "value": {
494
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
495
+ "type": "string"
496
+ }
497
+ }
498
+ ],
499
+ "revision": {
500
+ "mode": "set",
501
+ "value": "sha256:20b5a36923330b2f49a598bb65466e32348e3dc63e95870320b4a1ddec3d77ae",
502
+ "expect": "match"
503
+ }
504
+ },
505
+ "expected": false
506
+ },
507
+ {
508
+ "id": "operation.valid",
509
+ "predicate": "operation",
510
+ "precondition": "envelope-valid",
511
+ "document": {
512
+ "source": "operation",
513
+ "patches": [],
514
+ "revision": {
515
+ "mode": "preserve",
516
+ "expect": "match"
517
+ }
518
+ },
519
+ "expected": true
520
+ },
521
+ {
522
+ "id": "operation.stale-revision",
523
+ "predicate": "operation",
524
+ "precondition": "envelope-valid",
525
+ "document": {
526
+ "source": "operation",
527
+ "patches": [
528
+ {
529
+ "op": "replace",
530
+ "path": "/label",
531
+ "value": "Changed without a new revision"
532
+ }
533
+ ],
534
+ "revision": {
535
+ "mode": "preserve",
536
+ "expect": "mismatch"
537
+ }
538
+ },
539
+ "expected": false
540
+ },
541
+ {
542
+ "id": "operation.destructive.valid",
543
+ "predicate": "operation",
544
+ "precondition": "envelope-valid",
545
+ "document": {
546
+ "source": "operation",
547
+ "patches": [
548
+ {
549
+ "op": "replace",
550
+ "path": "/execution/impact",
551
+ "value": "destructive"
552
+ }
553
+ ],
554
+ "revision": {
555
+ "mode": "set",
556
+ "value": "sha256:3778704efe86593ea446e03cea0b1d1da3537f5d1b9305a77dcb590acef5a6df",
557
+ "expect": "match"
558
+ }
559
+ },
560
+ "expected": true
561
+ },
562
+ {
563
+ "id": "operation.destructive.missing-confirmation",
564
+ "predicate": "operation",
565
+ "precondition": "envelope-valid",
566
+ "document": {
567
+ "source": "operation",
568
+ "patches": [
569
+ {
570
+ "op": "replace",
571
+ "path": "/execution/impact",
572
+ "value": "destructive"
573
+ },
574
+ {
575
+ "op": "replace",
576
+ "path": "/execution/confirmationRequired",
577
+ "value": false
578
+ }
579
+ ],
580
+ "revision": {
581
+ "mode": "set",
582
+ "value": "sha256:978cff358ea5a0868b3975189f3d34b497b8d5cf6d16e10fb58af3d30c2711d6",
583
+ "expect": "match"
584
+ }
585
+ },
586
+ "expected": false
587
+ },
588
+ {
589
+ "id": "operation.destructive.optional-idempotency",
590
+ "predicate": "operation",
591
+ "precondition": "envelope-valid",
592
+ "document": {
593
+ "source": "operation",
594
+ "patches": [
595
+ {
596
+ "op": "replace",
597
+ "path": "/execution/impact",
598
+ "value": "destructive"
599
+ },
600
+ {
601
+ "op": "replace",
602
+ "path": "/execution/idempotency",
603
+ "value": "optional"
604
+ }
605
+ ],
606
+ "revision": {
607
+ "mode": "set",
608
+ "value": "sha256:701c7e2036deeee178687969bead02dca1f16f32be87d8f414a028da4bb7e98c",
609
+ "expect": "match"
610
+ }
611
+ },
612
+ "expected": false
613
+ },
614
+ {
615
+ "id": "operation.schema.remote-input",
616
+ "predicate": "operation",
617
+ "precondition": "envelope-valid",
618
+ "document": {
619
+ "source": "operation",
620
+ "patches": [
621
+ {
622
+ "op": "replace",
623
+ "path": "/inputSchema",
624
+ "value": {
625
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
626
+ "type": "object",
627
+ "$ref": "https://example.invalid/schema.json"
628
+ }
629
+ }
630
+ ],
631
+ "revision": {
632
+ "mode": "set",
633
+ "value": "sha256:800d86fef7cb942cfe90263030c5469e9bb6725af3d4f1f8619648b0c49c8026",
634
+ "expect": "match"
635
+ }
636
+ },
637
+ "expected": false
638
+ },
639
+ {
640
+ "id": "operation.schema.remote-context",
641
+ "predicate": "operation",
642
+ "precondition": "envelope-valid",
643
+ "document": {
644
+ "source": "operation",
645
+ "patches": [
646
+ {
647
+ "op": "replace",
648
+ "path": "/contextSchema",
649
+ "value": {
650
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
651
+ "type": "object",
652
+ "$ref": "https://example.invalid/schema.json"
653
+ }
654
+ }
655
+ ],
656
+ "revision": {
657
+ "mode": "set",
658
+ "value": "sha256:d4980a90f88ea60c62ac308cad53f4682e873b45906660eaac8c9c17e86df0ce",
659
+ "expect": "match"
660
+ }
661
+ },
662
+ "expected": false
663
+ },
664
+ {
665
+ "id": "operation.schema.wildcard-output-pattern",
666
+ "predicate": "operation",
667
+ "precondition": "envelope-valid",
668
+ "document": {
669
+ "source": "operation",
670
+ "patches": [
671
+ {
672
+ "op": "replace",
673
+ "path": "/output/schema",
674
+ "value": {
675
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
676
+ "type": "string",
677
+ "pattern": ".*"
678
+ }
679
+ }
680
+ ],
681
+ "revision": {
682
+ "mode": "set",
683
+ "value": "sha256:cc81355c54cd4fde0222427c2e82ff5b3a5b2fd403d1ec0a15d3b7870631f4da",
684
+ "expect": "match"
685
+ }
686
+ },
687
+ "expected": false
688
+ },
689
+ {
690
+ "id": "operation.data-source.duplicate-id",
691
+ "predicate": "operation",
692
+ "precondition": "envelope-valid",
693
+ "document": {
694
+ "source": "operation",
695
+ "patches": [
696
+ {
697
+ "op": "copy",
698
+ "from": "/dataSources/0",
699
+ "path": "/dataSources/-"
700
+ }
701
+ ],
702
+ "revision": {
703
+ "mode": "set",
704
+ "value": "sha256:d9df74f4035638360d285a0d6af4255a2d75bd45750abcf01bfab259f62d3d23",
705
+ "expect": "match"
706
+ }
707
+ },
708
+ "expected": false
709
+ },
710
+ {
711
+ "id": "operation.preset.duplicate-id",
712
+ "predicate": "operation",
713
+ "precondition": "envelope-valid",
714
+ "document": {
715
+ "source": "operation",
716
+ "patches": [
717
+ {
718
+ "op": "copy",
719
+ "from": "/presets/0",
720
+ "path": "/presets/-"
721
+ }
722
+ ],
723
+ "revision": {
724
+ "mode": "set",
725
+ "value": "sha256:5167cb0cf4ff43842a9de3d60ee71cdf0d6e92362ee6dbaf5c8a2fdfddc81b5f",
726
+ "expect": "match"
727
+ }
728
+ },
729
+ "expected": false
730
+ },
731
+ {
732
+ "id": "operation.preset.secret-populated",
733
+ "predicate": "operation",
734
+ "precondition": "envelope-valid",
735
+ "document": {
736
+ "source": "operation",
737
+ "patches": [
738
+ {
739
+ "op": "add",
740
+ "path": "/presets/0/input/apiToken",
741
+ "value": "adapter-supplied-secret"
742
+ }
743
+ ],
744
+ "revision": {
745
+ "mode": "set",
746
+ "value": "sha256:8c9dd8da528ef91774b23fb6c197a94657d1c33453b7878b2fc25a7b916869f6",
747
+ "expect": "match"
748
+ }
749
+ },
750
+ "expected": false
751
+ },
752
+ {
753
+ "id": "operation.ui.deep-declared-data-source",
754
+ "predicate": "operation",
755
+ "precondition": "envelope-valid",
756
+ "document": {
757
+ "source": "operation",
758
+ "patches": [
759
+ {
760
+ "op": "replace",
761
+ "path": "/uiSchema/root",
762
+ "value": {
763
+ "type": "tabs",
764
+ "tabs": [
765
+ {
766
+ "id": "fixture-tab",
767
+ "label": "Fixture tab",
768
+ "children": [
769
+ {
770
+ "type": "columns",
771
+ "children": [
772
+ {
773
+ "type": "group",
774
+ "children": [
775
+ {
776
+ "type": "field",
777
+ "pointer": "/applicationId",
778
+ "dataSourceId": "application-catalog"
779
+ }
780
+ ]
781
+ }
782
+ ]
783
+ }
784
+ ]
785
+ }
786
+ ]
787
+ }
788
+ }
789
+ ],
790
+ "revision": {
791
+ "mode": "set",
792
+ "value": "sha256:fe1d48b1485d0b2dbceec41a25549809e8b654145c8f20d1ccc81a9f92a1135e",
793
+ "expect": "match"
794
+ }
795
+ },
796
+ "expected": true
797
+ },
798
+ {
799
+ "id": "operation.ui.deep-undeclared-data-source",
800
+ "predicate": "operation",
801
+ "precondition": "envelope-valid",
802
+ "document": {
803
+ "source": "operation",
804
+ "patches": [
805
+ {
806
+ "op": "replace",
807
+ "path": "/uiSchema/root",
808
+ "value": {
809
+ "type": "tabs",
810
+ "tabs": [
811
+ {
812
+ "id": "fixture-tab",
813
+ "label": "Fixture tab",
814
+ "children": [
815
+ {
816
+ "type": "columns",
817
+ "children": [
818
+ {
819
+ "type": "group",
820
+ "children": [
821
+ {
822
+ "type": "field",
823
+ "pointer": "/applicationId",
824
+ "dataSourceId": "undeclared-catalog"
825
+ }
826
+ ]
827
+ }
828
+ ]
829
+ }
830
+ ]
831
+ }
832
+ ]
833
+ }
834
+ }
835
+ ],
836
+ "revision": {
837
+ "mode": "set",
838
+ "value": "sha256:2acc46c7b16df54a939cc4a8f1cae4598e85ee40e18f2e1a9398393d70607c10",
839
+ "expect": "match"
840
+ }
841
+ },
842
+ "expected": false
843
+ },
844
+ {
845
+ "id": "resolve.valid",
846
+ "predicate": "resolve",
847
+ "precondition": "envelope-valid",
848
+ "request": {
849
+ "source": "resolve-request",
850
+ "patches": []
851
+ },
852
+ "response": {
853
+ "source": "resolve-response",
854
+ "patches": []
855
+ },
856
+ "expected": true
857
+ },
858
+ {
859
+ "id": "resolve.all-null-items",
860
+ "predicate": "resolve",
861
+ "precondition": "envelope-valid",
862
+ "request": {
863
+ "source": "resolve-request",
864
+ "patches": []
865
+ },
866
+ "response": {
867
+ "source": "resolve-response",
868
+ "patches": [
869
+ {
870
+ "op": "replace",
871
+ "path": "/results/0/item",
872
+ "value": null
873
+ },
874
+ {
875
+ "op": "replace",
876
+ "path": "/results/1/item",
877
+ "value": null
878
+ }
879
+ ]
880
+ },
881
+ "expected": true
882
+ },
883
+ {
884
+ "id": "resolve.short-results",
885
+ "predicate": "resolve",
886
+ "precondition": "envelope-valid",
887
+ "request": {
888
+ "source": "resolve-request",
889
+ "patches": []
890
+ },
891
+ "response": {
892
+ "source": "resolve-response",
893
+ "patches": [
894
+ {
895
+ "op": "remove",
896
+ "path": "/results/1"
897
+ }
898
+ ]
899
+ },
900
+ "expected": false
901
+ },
902
+ {
903
+ "id": "resolve.long-results",
904
+ "predicate": "resolve",
905
+ "precondition": "envelope-valid",
906
+ "request": {
907
+ "source": "resolve-request",
908
+ "patches": []
909
+ },
910
+ "response": {
911
+ "source": "resolve-response",
912
+ "patches": [
913
+ {
914
+ "op": "add",
915
+ "path": "/results/-",
916
+ "value": {
917
+ "value": "extra",
918
+ "item": null
919
+ }
920
+ }
921
+ ]
922
+ },
923
+ "expected": false
924
+ },
925
+ {
926
+ "id": "resolve.reversed-results",
927
+ "predicate": "resolve",
928
+ "precondition": "envelope-valid",
929
+ "request": {
930
+ "source": "resolve-request",
931
+ "patches": []
932
+ },
933
+ "response": {
934
+ "source": "resolve-response",
935
+ "patches": [
936
+ {
937
+ "op": "replace",
938
+ "path": "/results",
939
+ "value": [
940
+ {
941
+ "value": "missing-app",
942
+ "item": null
943
+ },
944
+ {
945
+ "value": "app-42",
946
+ "item": {
947
+ "value": "app-42",
948
+ "label": "Customer Portal",
949
+ "description": "Primary customer-facing portal",
950
+ "group": "Production"
951
+ }
952
+ }
953
+ ]
954
+ }
955
+ ]
956
+ },
957
+ "expected": false
958
+ },
959
+ {
960
+ "id": "resolve.wrong-echo",
961
+ "predicate": "resolve",
962
+ "precondition": "envelope-valid",
963
+ "request": {
964
+ "source": "resolve-request",
965
+ "patches": []
966
+ },
967
+ "response": {
968
+ "source": "resolve-response",
969
+ "patches": [
970
+ {
971
+ "op": "replace",
972
+ "path": "/results/0/value",
973
+ "value": "wrong-echo"
974
+ },
975
+ {
976
+ "op": "replace",
977
+ "path": "/results/0/item/value",
978
+ "value": "wrong-echo"
979
+ }
980
+ ]
981
+ },
982
+ "expected": false
983
+ },
984
+ {
985
+ "id": "resolve.wrong-item-value",
986
+ "predicate": "resolve",
987
+ "precondition": "envelope-valid",
988
+ "request": {
989
+ "source": "resolve-request",
990
+ "patches": []
991
+ },
992
+ "response": {
993
+ "source": "resolve-response",
994
+ "patches": [
995
+ {
996
+ "op": "replace",
997
+ "path": "/results/0/item/value",
998
+ "value": "wrong-item"
999
+ }
1000
+ ]
1001
+ },
1002
+ "expected": false
1003
+ },
1004
+ {
1005
+ "id": "operation.placements.valid",
1006
+ "predicate": "operation",
1007
+ "precondition": "envelope-valid",
1008
+ "document": {
1009
+ "source": "operation",
1010
+ "patches": [
1011
+ {
1012
+ "op": "add",
1013
+ "path": "/placements",
1014
+ "value": [
1015
+ { "kind": "global" },
1016
+ {
1017
+ "kind": "subject",
1018
+ "subjectType": "application",
1019
+ "bindings": {
1020
+ "/applicationId": "applicationId",
1021
+ "/options/mode": "mode"
1022
+ }
1023
+ }
1024
+ ]
1025
+ }
1026
+ ],
1027
+ "revision": {
1028
+ "mode": "set",
1029
+ "value": "sha256:9023ac19643ef9622e6a39dc21486ca755b1399d5c66668de7c95c4b609e01cf",
1030
+ "expect": "match"
1031
+ }
1032
+ },
1033
+ "expected": true
1034
+ },
1035
+ {
1036
+ "id": "operation.placements.binding-secret",
1037
+ "predicate": "operation",
1038
+ "precondition": "envelope-valid",
1039
+ "document": {
1040
+ "source": "operation",
1041
+ "patches": [
1042
+ {
1043
+ "op": "add",
1044
+ "path": "/placements",
1045
+ "value": [
1046
+ {
1047
+ "kind": "subject",
1048
+ "subjectType": "application",
1049
+ "bindings": { "/apiToken": "token" }
1050
+ }
1051
+ ]
1052
+ }
1053
+ ],
1054
+ "revision": {
1055
+ "mode": "set",
1056
+ "value": "sha256:917ad14c96cfd2148f84af83f33da604b94aa9d59a031ff95a9ad408055e90fe",
1057
+ "expect": "match"
1058
+ }
1059
+ },
1060
+ "expected": false
1061
+ },
1062
+ {
1063
+ "id": "operation.placements.binding-file-child",
1064
+ "predicate": "operation",
1065
+ "precondition": "envelope-valid",
1066
+ "document": {
1067
+ "source": "operation",
1068
+ "patches": [
1069
+ {
1070
+ "op": "add",
1071
+ "path": "/placements",
1072
+ "value": [
1073
+ {
1074
+ "kind": "subject",
1075
+ "subjectType": "application",
1076
+ "bindings": { "/attachment/name": "name" }
1077
+ }
1078
+ ]
1079
+ }
1080
+ ],
1081
+ "revision": {
1082
+ "mode": "set",
1083
+ "value": "sha256:03bc6623b23a8b609c0b6b84a9db20c762e77da72e6934fd3849f122fd24af45",
1084
+ "expect": "match"
1085
+ }
1086
+ },
1087
+ "expected": false
1088
+ },
1089
+ {
1090
+ "id": "operation.placements.binding-array",
1091
+ "predicate": "operation",
1092
+ "precondition": "envelope-valid",
1093
+ "document": {
1094
+ "source": "operation",
1095
+ "patches": [
1096
+ {
1097
+ "op": "add",
1098
+ "path": "/placements",
1099
+ "value": [
1100
+ {
1101
+ "kind": "subject",
1102
+ "subjectType": "application",
1103
+ "bindings": { "/roles": "roles" }
1104
+ }
1105
+ ]
1106
+ }
1107
+ ],
1108
+ "revision": {
1109
+ "mode": "set",
1110
+ "value": "sha256:74333e79ff1b85497c120c134bb49f4c414d178ee92d1bc0fe1bd16376165c7e",
1111
+ "expect": "match"
1112
+ }
1113
+ },
1114
+ "expected": false
1115
+ },
1116
+ {
1117
+ "id": "operation.placements.binding-object",
1118
+ "predicate": "operation",
1119
+ "precondition": "envelope-valid",
1120
+ "document": {
1121
+ "source": "operation",
1122
+ "patches": [
1123
+ {
1124
+ "op": "add",
1125
+ "path": "/placements",
1126
+ "value": [
1127
+ {
1128
+ "kind": "subject",
1129
+ "subjectType": "application",
1130
+ "bindings": { "/options": "options" }
1131
+ }
1132
+ ]
1133
+ }
1134
+ ],
1135
+ "revision": {
1136
+ "mode": "set",
1137
+ "value": "sha256:6072a0befb4db9070d8ce3204cbb645cc53e2a191d975427c317b5808dc57c42",
1138
+ "expect": "match"
1139
+ }
1140
+ },
1141
+ "expected": false
1142
+ },
1143
+ {
1144
+ "id": "operation.placements.binding-missing",
1145
+ "predicate": "operation",
1146
+ "precondition": "envelope-valid",
1147
+ "document": {
1148
+ "source": "operation",
1149
+ "patches": [
1150
+ {
1151
+ "op": "add",
1152
+ "path": "/placements",
1153
+ "value": [
1154
+ {
1155
+ "kind": "subject",
1156
+ "subjectType": "application",
1157
+ "bindings": { "/missing": "missing" }
1158
+ }
1159
+ ]
1160
+ }
1161
+ ],
1162
+ "revision": {
1163
+ "mode": "set",
1164
+ "value": "sha256:aab5cd7e10b681e4aa171a068373ef1dc137449c8b5042677e3e8b2a37879b2b",
1165
+ "expect": "match"
1166
+ }
1167
+ },
1168
+ "expected": false
1169
+ },
1170
+ {
1171
+ "id": "operation.placements.duplicate-global",
1172
+ "predicate": "operation",
1173
+ "precondition": "envelope-valid",
1174
+ "document": {
1175
+ "source": "operation",
1176
+ "patches": [
1177
+ {
1178
+ "op": "add",
1179
+ "path": "/placements",
1180
+ "value": [
1181
+ { "kind": "global" },
1182
+ { "kind": "global" }
1183
+ ]
1184
+ }
1185
+ ],
1186
+ "revision": {
1187
+ "mode": "set",
1188
+ "value": "sha256:7828ec072acc5bce1c03e9d8d26bad285e8b524eea83b5417042a4b2b52af6fd",
1189
+ "expect": "match"
1190
+ }
1191
+ },
1192
+ "expected": false
1193
+ },
1194
+ {
1195
+ "id": "operation.placements.duplicate-subject",
1196
+ "predicate": "operation",
1197
+ "precondition": "envelope-valid",
1198
+ "document": {
1199
+ "source": "operation",
1200
+ "patches": [
1201
+ {
1202
+ "op": "add",
1203
+ "path": "/placements",
1204
+ "value": [
1205
+ { "kind": "subject", "subjectType": "application" },
1206
+ { "kind": "subject", "subjectType": "application" }
1207
+ ]
1208
+ }
1209
+ ],
1210
+ "revision": {
1211
+ "mode": "set",
1212
+ "value": "sha256:0ab35461a87cbd671cf59e7dbfc3278e138acc0e770b90e1efe6d13b3d492012",
1213
+ "expect": "match"
1214
+ }
1215
+ },
1216
+ "expected": false
1217
+ },
1218
+ {
1219
+ "id": "operation.placements.binding-combinator",
1220
+ "predicate": "operation",
1221
+ "precondition": "envelope-valid",
1222
+ "document": {
1223
+ "source": "operation",
1224
+ "patches": [
1225
+ {
1226
+ "op": "add",
1227
+ "path": "/inputSchema/properties/message/anyOf",
1228
+ "value": [{ "type": "string" }]
1229
+ },
1230
+ {
1231
+ "op": "add",
1232
+ "path": "/placements",
1233
+ "value": [
1234
+ {
1235
+ "kind": "subject",
1236
+ "subjectType": "application",
1237
+ "bindings": { "/message": "message" }
1238
+ }
1239
+ ]
1240
+ }
1241
+ ],
1242
+ "revision": {
1243
+ "mode": "set",
1244
+ "value": "sha256:f9be4000e88ff50e3dd80edd9b4a45e8e0fb6c31310dd801efc337573faabfbe",
1245
+ "expect": "match"
1246
+ }
1247
+ },
1248
+ "expected": false
1249
+ },
1250
+ {
1251
+ "id": "operation.placements.leaf-const",
1252
+ "predicate": "operation",
1253
+ "precondition": "envelope-valid",
1254
+ "document": {
1255
+ "source": "operation",
1256
+ "patches": [
1257
+ {
1258
+ "op": "add",
1259
+ "path": "/inputSchema/properties/channel",
1260
+ "value": { "const": "email" }
1261
+ },
1262
+ {
1263
+ "op": "add",
1264
+ "path": "/placements",
1265
+ "value": [
1266
+ {
1267
+ "kind": "subject",
1268
+ "subjectType": "application",
1269
+ "bindings": { "/channel": "channel" }
1270
+ }
1271
+ ]
1272
+ }
1273
+ ],
1274
+ "revision": {
1275
+ "mode": "set",
1276
+ "value": "sha256:9fa5fe7c02caa7ab9229b2e54608e6d9a6ba478661544f8986b71f0b7f1b4f40",
1277
+ "expect": "match"
1278
+ }
1279
+ },
1280
+ "expected": true
1281
+ },
1282
+ {
1283
+ "id": "operation.placements.leaf-number",
1284
+ "predicate": "operation",
1285
+ "precondition": "envelope-valid",
1286
+ "document": {
1287
+ "source": "operation",
1288
+ "patches": [
1289
+ {
1290
+ "op": "add",
1291
+ "path": "/inputSchema/properties/score",
1292
+ "value": { "type": "number" }
1293
+ },
1294
+ {
1295
+ "op": "add",
1296
+ "path": "/placements",
1297
+ "value": [
1298
+ {
1299
+ "kind": "subject",
1300
+ "subjectType": "application",
1301
+ "bindings": { "/score": "score" }
1302
+ }
1303
+ ]
1304
+ }
1305
+ ],
1306
+ "revision": {
1307
+ "mode": "set",
1308
+ "value": "sha256:d52237df6695b40586747d44274d895d5e2dd3e9f646daa1831b1df5d36e74f1",
1309
+ "expect": "match"
1310
+ }
1311
+ },
1312
+ "expected": true
1313
+ },
1314
+ {
1315
+ "id": "operation.placements.leaf-integer",
1316
+ "predicate": "operation",
1317
+ "precondition": "envelope-valid",
1318
+ "document": {
1319
+ "source": "operation",
1320
+ "patches": [
1321
+ {
1322
+ "op": "add",
1323
+ "path": "/inputSchema/properties/attempt",
1324
+ "value": { "type": "integer" }
1325
+ },
1326
+ {
1327
+ "op": "add",
1328
+ "path": "/placements",
1329
+ "value": [
1330
+ {
1331
+ "kind": "subject",
1332
+ "subjectType": "application",
1333
+ "bindings": { "/attempt": "attempt" }
1334
+ }
1335
+ ]
1336
+ }
1337
+ ],
1338
+ "revision": {
1339
+ "mode": "set",
1340
+ "value": "sha256:899d45ce059e5fdcb00e52705b93726b5ca3a4288435a83b44c4d5926bf6d893",
1341
+ "expect": "match"
1342
+ }
1343
+ },
1344
+ "expected": true
1345
+ },
1346
+ {
1347
+ "id": "operation.placements.leaf-boolean",
1348
+ "predicate": "operation",
1349
+ "precondition": "envelope-valid",
1350
+ "document": {
1351
+ "source": "operation",
1352
+ "patches": [
1353
+ {
1354
+ "op": "add",
1355
+ "path": "/placements",
1356
+ "value": [
1357
+ {
1358
+ "kind": "subject",
1359
+ "subjectType": "application",
1360
+ "bindings": { "/notify": "notify" }
1361
+ }
1362
+ ]
1363
+ }
1364
+ ],
1365
+ "revision": {
1366
+ "mode": "set",
1367
+ "value": "sha256:3e3041ac87d79302b1bc15ed89b30292f80811cc22df741f3bf0f65353896820",
1368
+ "expect": "match"
1369
+ }
1370
+ },
1371
+ "expected": true
1372
+ },
1373
+ {
1374
+ "id": "operation.placements.escaped-pointer",
1375
+ "predicate": "operation",
1376
+ "precondition": "envelope-valid",
1377
+ "document": {
1378
+ "source": "operation",
1379
+ "patches": [
1380
+ {
1381
+ "op": "add",
1382
+ "path": "/inputSchema/properties/team~1id",
1383
+ "value": { "type": "string" }
1384
+ },
1385
+ {
1386
+ "op": "add",
1387
+ "path": "/placements",
1388
+ "value": [
1389
+ {
1390
+ "kind": "subject",
1391
+ "subjectType": "application",
1392
+ "bindings": { "/team~1id": "teamId" }
1393
+ }
1394
+ ]
1395
+ }
1396
+ ],
1397
+ "revision": {
1398
+ "mode": "set",
1399
+ "value": "sha256:7b308dd0c9ad9a13b7ef9f4d2fac5836af550dd64aa903d180e172a56acdffca",
1400
+ "expect": "match"
1401
+ }
1402
+ },
1403
+ "expected": true
1404
+ },
1405
+ {
1406
+ "id": "operation.placements.binding-type-array",
1407
+ "predicate": "operation",
1408
+ "precondition": "envelope-valid",
1409
+ "document": {
1410
+ "source": "operation",
1411
+ "patches": [
1412
+ {
1413
+ "op": "add",
1414
+ "path": "/inputSchema/properties/note",
1415
+ "value": { "type": ["string", "null"] }
1416
+ },
1417
+ {
1418
+ "op": "add",
1419
+ "path": "/placements",
1420
+ "value": [
1421
+ {
1422
+ "kind": "subject",
1423
+ "subjectType": "application",
1424
+ "bindings": { "/note": "note" }
1425
+ }
1426
+ ]
1427
+ }
1428
+ ],
1429
+ "revision": {
1430
+ "mode": "set",
1431
+ "value": "sha256:a0e290a8967ad8c7f73720609288f9bbbfec041a98fa63a80c2a37aec2c60546",
1432
+ "expect": "match"
1433
+ }
1434
+ },
1435
+ "expected": false
1436
+ },
1437
+ {
1438
+ "id": "manifest.placements.profile-declared",
1439
+ "predicate": "manifest",
1440
+ "precondition": "envelope-valid",
1441
+ "document": {
1442
+ "source": "manifest",
1443
+ "patches": [
1444
+ {
1445
+ "op": "add",
1446
+ "path": "/operations/0/placements",
1447
+ "value": [{ "kind": "global" }]
1448
+ },
1449
+ {
1450
+ "op": "add",
1451
+ "path": "/profiles/-",
1452
+ "value": "gauntlet-page-placements@1"
1453
+ }
1454
+ ],
1455
+ "revision": {
1456
+ "mode": "set",
1457
+ "value": "sha256:c7759317be7267a20c96105285e2edcd1bdbb1022034e0310b037fa61767b935",
1458
+ "expect": "match"
1459
+ }
1460
+ },
1461
+ "expected": true
1462
+ },
1463
+ {
1464
+ "id": "manifest.placements.profile-missing",
1465
+ "predicate": "manifest",
1466
+ "precondition": "envelope-valid",
1467
+ "document": {
1468
+ "source": "manifest",
1469
+ "patches": [
1470
+ {
1471
+ "op": "add",
1472
+ "path": "/operations/0/placements",
1473
+ "value": [{ "kind": "global" }]
1474
+ }
1475
+ ],
1476
+ "revision": {
1477
+ "mode": "set",
1478
+ "value": "sha256:daed873fa0916a36aba05c900e41506ff5f787772ef8ad08937261ba26913c8d",
1479
+ "expect": "match"
1480
+ }
1481
+ },
1482
+ "expected": false
1483
+ }
1484
+ ],
1485
+ "presetSuites": [
1486
+ {
1487
+ "id": "preset.escaped-array",
1488
+ "inputSchema": {
1489
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1490
+ "type": "object",
1491
+ "properties": {
1492
+ "credentials": {
1493
+ "type": "array",
1494
+ "prefixItems": [
1495
+ {
1496
+ "type": "string"
1497
+ }
1498
+ ],
1499
+ "items": {
1500
+ "$ref": "#/%24defs/alias%20schema"
1501
+ }
1502
+ }
1503
+ },
1504
+ "$defs": {
1505
+ "secret/target": {
1506
+ "type": "string"
1507
+ },
1508
+ "alias schema": {
1509
+ "$ref": "#/%24defs/secret~1target"
1510
+ }
1511
+ },
1512
+ "additionalProperties": false
1513
+ },
1514
+ "secretPointers": [
1515
+ "/$defs/secret~1target"
1516
+ ],
1517
+ "cases": [
1518
+ {
1519
+ "id": "empty",
1520
+ "presetInputs": [
1521
+ {}
1522
+ ],
1523
+ "expectedRevision": "sha256:8f76cea1ed73a0e58aaac98f7cd2abf8ddaf9965b8e5a1421234f5fd9af32a5a",
1524
+ "expected": true
1525
+ },
1526
+ {
1527
+ "id": "public-prefix",
1528
+ "presetInputs": [
1529
+ {
1530
+ "credentials": [
1531
+ "public-prefix"
1532
+ ]
1533
+ }
1534
+ ],
1535
+ "expectedRevision": "sha256:1e68e1d27292a430371927bf9ccf2dbe61f37c173d3fe3bc9ae1f0ab54fbc4b2",
1536
+ "expected": true
1537
+ },
1538
+ {
1539
+ "id": "secret-tail",
1540
+ "presetInputs": [
1541
+ {
1542
+ "credentials": [
1543
+ "public-prefix",
1544
+ "seeded-secret-a",
1545
+ "seeded-secret-b"
1546
+ ]
1547
+ }
1548
+ ],
1549
+ "expectedRevision": "sha256:9e8fbd68a1a569e2322d4835d899820a175227273c960a268ee5d83324ad9111",
1550
+ "expected": false
1551
+ }
1552
+ ]
1553
+ },
1554
+ {
1555
+ "id": "preset.origin.direct-property",
1556
+ "inputSchema": {
1557
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1558
+ "type": "object",
1559
+ "properties": {
1560
+ "secret": {
1561
+ "type": "string"
1562
+ }
1563
+ }
1564
+ },
1565
+ "secretPointers": [
1566
+ "/properties/secret"
1567
+ ],
1568
+ "cases": [
1569
+ {
1570
+ "id": "empty",
1571
+ "presetInputs": [
1572
+ {}
1573
+ ],
1574
+ "expectedRevision": "sha256:da4307249f5bcfb06e97583c9ba7f173933bcd95e3c33b38abc37b8db15af18d",
1575
+ "expected": true
1576
+ }
1577
+ ]
1578
+ },
1579
+ {
1580
+ "id": "preset.origin.escaped-transitive",
1581
+ "inputSchema": {
1582
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1583
+ "type": "object",
1584
+ "properties": {
1585
+ "secret": {
1586
+ "$ref": "#/%24defs/alias%20schema"
1587
+ }
1588
+ },
1589
+ "$defs": {
1590
+ "secret/target": {
1591
+ "type": "string"
1592
+ },
1593
+ "alias schema": {
1594
+ "$ref": "#/%24defs/secret~1target"
1595
+ }
1596
+ }
1597
+ },
1598
+ "secretPointers": [
1599
+ "/$defs/secret~1target"
1600
+ ],
1601
+ "cases": [
1602
+ {
1603
+ "id": "empty",
1604
+ "presetInputs": [
1605
+ {}
1606
+ ],
1607
+ "expectedRevision": "sha256:50c21b5b106a10069e102afac1ac35a811a7a654b115b07f23d495e23fe57bb3",
1608
+ "expected": true
1609
+ }
1610
+ ]
1611
+ },
1612
+ {
1613
+ "id": "preset.origin.productive-recursive",
1614
+ "inputSchema": {
1615
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1616
+ "type": "object",
1617
+ "properties": {
1618
+ "chain": {
1619
+ "$ref": "#/$defs/node"
1620
+ }
1621
+ },
1622
+ "$defs": {
1623
+ "target": {
1624
+ "type": "string"
1625
+ },
1626
+ "node": {
1627
+ "type": "object",
1628
+ "properties": {
1629
+ "secret": {
1630
+ "$ref": "#/$defs/target"
1631
+ },
1632
+ "next": {
1633
+ "$ref": "#/$defs/node"
1634
+ }
1635
+ }
1636
+ }
1637
+ }
1638
+ },
1639
+ "secretPointers": [
1640
+ "/$defs/target"
1641
+ ],
1642
+ "cases": [
1643
+ {
1644
+ "id": "empty",
1645
+ "presetInputs": [
1646
+ {
1647
+ "chain": {
1648
+ "next": {}
1649
+ }
1650
+ }
1651
+ ],
1652
+ "expectedRevision": "sha256:053a9b6a093f32104201021f746ce456c02eea4ef10217c110f0c9d793a855ba",
1653
+ "expected": true
1654
+ },
1655
+ {
1656
+ "id": "populated",
1657
+ "presetInputs": [
1658
+ {
1659
+ "chain": {
1660
+ "next": {
1661
+ "secret": "seeded"
1662
+ }
1663
+ }
1664
+ }
1665
+ ],
1666
+ "expectedRevision": "sha256:f74cc2e3e220b981d42b72fed05fd613bc7a43443bd7cb150ef793cf5be67367",
1667
+ "expected": false
1668
+ }
1669
+ ]
1670
+ },
1671
+ {
1672
+ "id": "preset.origin.two-direct",
1673
+ "inputSchema": {
1674
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1675
+ "type": "object",
1676
+ "properties": {
1677
+ "first": {
1678
+ "$ref": "#/$defs/target"
1679
+ },
1680
+ "second": {
1681
+ "$ref": "#/$defs/target"
1682
+ }
1683
+ },
1684
+ "$defs": {
1685
+ "target": {
1686
+ "type": "string"
1687
+ }
1688
+ }
1689
+ },
1690
+ "secretPointers": [
1691
+ "/$defs/target"
1692
+ ],
1693
+ "cases": [
1694
+ {
1695
+ "id": "empty",
1696
+ "presetInputs": [
1697
+ {}
1698
+ ],
1699
+ "expectedRevision": "sha256:05afffefdcc0b27b6d18452c3b5007cd98d771155a0d687e633555cd5595772e",
1700
+ "expected": false
1701
+ }
1702
+ ]
1703
+ },
1704
+ {
1705
+ "id": "preset.origin.two-wrapper",
1706
+ "inputSchema": {
1707
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1708
+ "type": "object",
1709
+ "properties": {
1710
+ "first": {
1711
+ "$ref": "#/$defs/wrapper"
1712
+ },
1713
+ "second": {
1714
+ "$ref": "#/$defs/wrapper"
1715
+ }
1716
+ },
1717
+ "$defs": {
1718
+ "wrapper": {
1719
+ "type": "object",
1720
+ "properties": {
1721
+ "secret": {
1722
+ "$ref": "#/$defs/target"
1723
+ }
1724
+ }
1725
+ },
1726
+ "target": {
1727
+ "type": "string"
1728
+ }
1729
+ }
1730
+ },
1731
+ "secretPointers": [
1732
+ "/$defs/target"
1733
+ ],
1734
+ "cases": [
1735
+ {
1736
+ "id": "empty",
1737
+ "presetInputs": [
1738
+ {}
1739
+ ],
1740
+ "expectedRevision": "sha256:544eaccf7988ba63dca4df9769e6522bb67dc0a02d986e1ea85d0fd396f931a9",
1741
+ "expected": false
1742
+ }
1743
+ ]
1744
+ },
1745
+ {
1746
+ "id": "preset.origin.one-wrapper",
1747
+ "inputSchema": {
1748
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1749
+ "type": "object",
1750
+ "properties": {
1751
+ "first": {
1752
+ "$ref": "#/$defs/wrapper"
1753
+ }
1754
+ },
1755
+ "$defs": {
1756
+ "wrapper": {
1757
+ "type": "object",
1758
+ "properties": {
1759
+ "secret": {
1760
+ "$ref": "#/$defs/target"
1761
+ }
1762
+ }
1763
+ },
1764
+ "target": {
1765
+ "type": "string"
1766
+ }
1767
+ }
1768
+ },
1769
+ "secretPointers": [
1770
+ "/$defs/target"
1771
+ ],
1772
+ "cases": [
1773
+ {
1774
+ "id": "empty",
1775
+ "presetInputs": [
1776
+ {}
1777
+ ],
1778
+ "expectedRevision": "sha256:2da482b7247139a2a0ae7c07a61eb91d4ae00a7b4dd339fb2560264a8a96a3d5",
1779
+ "expected": true
1780
+ },
1781
+ {
1782
+ "id": "populated",
1783
+ "presetInputs": [
1784
+ {
1785
+ "first": {
1786
+ "secret": "seeded"
1787
+ }
1788
+ }
1789
+ ],
1790
+ "expectedRevision": "sha256:feee3a8c38ca49717c0b4c0e215a259ba1809e26a7b32cad4cac236bed97e993",
1791
+ "expected": false
1792
+ }
1793
+ ]
1794
+ },
1795
+ {
1796
+ "id": "preset.origin.dynamic-recursion",
1797
+ "inputSchema": {
1798
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1799
+ "type": "object",
1800
+ "properties": {
1801
+ "chain": {
1802
+ "$ref": "#/$defs/node"
1803
+ }
1804
+ },
1805
+ "$defs": {
1806
+ "node": {
1807
+ "type": "object",
1808
+ "patternProperties": {
1809
+ "^next": {
1810
+ "$ref": "#/$defs/node"
1811
+ }
1812
+ }
1813
+ }
1814
+ }
1815
+ },
1816
+ "secretPointers": [
1817
+ "/$defs/node"
1818
+ ],
1819
+ "cases": [
1820
+ {
1821
+ "id": "empty",
1822
+ "presetInputs": [
1823
+ {}
1824
+ ],
1825
+ "expectedRevision": "sha256:3206265e46c37e0a997f1e687db8c1097e68248e95705e2a392a03d735458816",
1826
+ "expected": false
1827
+ }
1828
+ ]
1829
+ },
1830
+ {
1831
+ "id": "preset.origin.pattern-properties",
1832
+ "inputSchema": {
1833
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1834
+ "type": "object",
1835
+ "patternProperties": {
1836
+ "^secret": {
1837
+ "$ref": "#/$defs/target"
1838
+ }
1839
+ },
1840
+ "$defs": {
1841
+ "target": {
1842
+ "type": "string"
1843
+ }
1844
+ }
1845
+ },
1846
+ "secretPointers": [
1847
+ "/$defs/target"
1848
+ ],
1849
+ "cases": [
1850
+ {
1851
+ "id": "empty",
1852
+ "presetInputs": [
1853
+ {}
1854
+ ],
1855
+ "expectedRevision": "sha256:d5ea7b1e6689c0e9656c0ef0c2b6ea00fe082e94a74b6de6591f9db92b090d11",
1856
+ "expected": false
1857
+ }
1858
+ ]
1859
+ },
1860
+ {
1861
+ "id": "preset.origin.additional-properties",
1862
+ "inputSchema": {
1863
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1864
+ "type": "object",
1865
+ "additionalProperties": {
1866
+ "$ref": "#/$defs/target"
1867
+ },
1868
+ "$defs": {
1869
+ "target": {
1870
+ "type": "string"
1871
+ }
1872
+ }
1873
+ },
1874
+ "secretPointers": [
1875
+ "/$defs/target"
1876
+ ],
1877
+ "cases": [
1878
+ {
1879
+ "id": "empty",
1880
+ "presetInputs": [
1881
+ {}
1882
+ ],
1883
+ "expectedRevision": "sha256:5ec7970bef537c37839bd42cc3f17e24bfd3fba2f3ddd24c2264bc629214cf74",
1884
+ "expected": false
1885
+ }
1886
+ ]
1887
+ },
1888
+ {
1889
+ "id": "preset.origin.property-names",
1890
+ "inputSchema": {
1891
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1892
+ "type": "object",
1893
+ "propertyNames": {
1894
+ "$ref": "#/$defs/target"
1895
+ },
1896
+ "$defs": {
1897
+ "target": {
1898
+ "type": "string"
1899
+ }
1900
+ }
1901
+ },
1902
+ "secretPointers": [
1903
+ "/$defs/target"
1904
+ ],
1905
+ "cases": [
1906
+ {
1907
+ "id": "empty",
1908
+ "presetInputs": [
1909
+ {}
1910
+ ],
1911
+ "expectedRevision": "sha256:945daae9e532e11b0c8d1a1e0812775300184475bae2d707f97f171ce8612159",
1912
+ "expected": false
1913
+ }
1914
+ ]
1915
+ },
1916
+ {
1917
+ "id": "preset.origin.unevaluated-properties",
1918
+ "inputSchema": {
1919
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1920
+ "type": "object",
1921
+ "unevaluatedProperties": {
1922
+ "$ref": "#/$defs/target"
1923
+ },
1924
+ "$defs": {
1925
+ "target": {
1926
+ "type": "string"
1927
+ }
1928
+ }
1929
+ },
1930
+ "secretPointers": [
1931
+ "/$defs/target"
1932
+ ],
1933
+ "cases": [
1934
+ {
1935
+ "id": "empty",
1936
+ "presetInputs": [
1937
+ {}
1938
+ ],
1939
+ "expectedRevision": "sha256:68a6561490cf9dd3d92f70e610e9c63b4e279ac5b5bdc1769c84bbc19b605451",
1940
+ "expected": false
1941
+ }
1942
+ ]
1943
+ },
1944
+ {
1945
+ "id": "preset.origin.contains",
1946
+ "inputSchema": {
1947
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1948
+ "type": "object",
1949
+ "properties": {
1950
+ "values": {
1951
+ "type": "array",
1952
+ "contains": {
1953
+ "$ref": "#/$defs/target"
1954
+ }
1955
+ }
1956
+ },
1957
+ "$defs": {
1958
+ "target": {
1959
+ "type": "string"
1960
+ }
1961
+ }
1962
+ },
1963
+ "secretPointers": [
1964
+ "/$defs/target"
1965
+ ],
1966
+ "cases": [
1967
+ {
1968
+ "id": "empty",
1969
+ "presetInputs": [
1970
+ {}
1971
+ ],
1972
+ "expectedRevision": "sha256:be7e7c22042ca38545df95d81f0fae4135a47ccd369be2a87caad4b683bfbd6c",
1973
+ "expected": false
1974
+ }
1975
+ ]
1976
+ },
1977
+ {
1978
+ "id": "preset.origin.unevaluated-items",
1979
+ "inputSchema": {
1980
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1981
+ "type": "object",
1982
+ "properties": {
1983
+ "values": {
1984
+ "type": "array",
1985
+ "unevaluatedItems": {
1986
+ "$ref": "#/$defs/target"
1987
+ }
1988
+ }
1989
+ },
1990
+ "$defs": {
1991
+ "target": {
1992
+ "type": "string"
1993
+ }
1994
+ }
1995
+ },
1996
+ "secretPointers": [
1997
+ "/$defs/target"
1998
+ ],
1999
+ "cases": [
2000
+ {
2001
+ "id": "empty",
2002
+ "presetInputs": [
2003
+ {}
2004
+ ],
2005
+ "expectedRevision": "sha256:f35570d8b33ea621e2dca5a37f05cc7057af27405347a25260e011afc6110d09",
2006
+ "expected": false
2007
+ }
2008
+ ]
2009
+ },
2010
+ {
2011
+ "id": "preset.origin.content-schema",
2012
+ "inputSchema": {
2013
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2014
+ "type": "object",
2015
+ "properties": {
2016
+ "encoded": {
2017
+ "type": "string",
2018
+ "contentMediaType": "application/json",
2019
+ "contentSchema": {
2020
+ "$ref": "#/$defs/target"
2021
+ }
2022
+ }
2023
+ },
2024
+ "$defs": {
2025
+ "target": {
2026
+ "type": "string"
2027
+ }
2028
+ }
2029
+ },
2030
+ "secretPointers": [
2031
+ "/$defs/target"
2032
+ ],
2033
+ "cases": [
2034
+ {
2035
+ "id": "empty",
2036
+ "presetInputs": [
2037
+ {}
2038
+ ],
2039
+ "expectedRevision": "sha256:0aba04c725241106a6c3be62537229ebd3f451e5f98ab0116985d5774ed337c9",
2040
+ "expected": false
2041
+ }
2042
+ ]
2043
+ },
2044
+ {
2045
+ "id": "preset.origin.true-schema",
2046
+ "inputSchema": {
2047
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2048
+ "type": "object",
2049
+ "properties": {
2050
+ "secret": {
2051
+ "$ref": "#/$defs/target"
2052
+ }
2053
+ },
2054
+ "$defs": {
2055
+ "target": true
2056
+ }
2057
+ },
2058
+ "secretPointers": [
2059
+ "/$defs/target"
2060
+ ],
2061
+ "cases": [
2062
+ {
2063
+ "id": "empty",
2064
+ "presetInputs": [
2065
+ {}
2066
+ ],
2067
+ "expectedRevision": "sha256:6286eb1dc5566b0fb8c8c39b7ff537a281863294400c1768dfb988321d6d52d3",
2068
+ "expected": true
2069
+ },
2070
+ {
2071
+ "id": "populated",
2072
+ "presetInputs": [
2073
+ {
2074
+ "secret": "seeded"
2075
+ }
2076
+ ],
2077
+ "expectedRevision": "sha256:7140b2c14d9a0b34d6c6d6d7b691dd9dad5fe732e49f0965523690ad01b43414",
2078
+ "expected": false
2079
+ }
2080
+ ]
2081
+ },
2082
+ {
2083
+ "id": "preset.origin.false-schema",
2084
+ "inputSchema": {
2085
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2086
+ "type": "object",
2087
+ "properties": {
2088
+ "secret": {
2089
+ "$ref": "#/$defs/target"
2090
+ }
2091
+ },
2092
+ "$defs": {
2093
+ "target": false
2094
+ }
2095
+ },
2096
+ "secretPointers": [
2097
+ "/$defs/target"
2098
+ ],
2099
+ "cases": [
2100
+ {
2101
+ "id": "populated",
2102
+ "presetInputs": [
2103
+ {
2104
+ "secret": "unreachable"
2105
+ }
2106
+ ],
2107
+ "expectedRevision": "sha256:79f35cec46a12284dd7d31030b044e3ceba1ff893d56cfd7defc0f0602c426f7",
2108
+ "expected": true
2109
+ }
2110
+ ]
2111
+ },
2112
+ {
2113
+ "id": "preset.origin.array-tail",
2114
+ "inputSchema": {
2115
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2116
+ "type": "object",
2117
+ "properties": {
2118
+ "values": {
2119
+ "type": "array",
2120
+ "prefixItems": [
2121
+ {
2122
+ "type": "string"
2123
+ }
2124
+ ],
2125
+ "items": {
2126
+ "$ref": "#/$defs/target"
2127
+ }
2128
+ }
2129
+ },
2130
+ "$defs": {
2131
+ "target": {
2132
+ "type": "string"
2133
+ }
2134
+ }
2135
+ },
2136
+ "secretPointers": [
2137
+ "/$defs/target"
2138
+ ],
2139
+ "cases": [
2140
+ {
2141
+ "id": "public-prefix",
2142
+ "presetInputs": [
2143
+ {
2144
+ "values": [
2145
+ "public-prefix"
2146
+ ]
2147
+ }
2148
+ ],
2149
+ "expectedRevision": "sha256:fe8b4fd9e3348bfb7c45396c2d8c65e044c474dbf74811517d6e9fb2cb8e25a8",
2150
+ "expected": true
2151
+ },
2152
+ {
2153
+ "id": "populated",
2154
+ "presetInputs": [
2155
+ {
2156
+ "values": [
2157
+ "public-prefix",
2158
+ "seeded"
2159
+ ]
2160
+ }
2161
+ ],
2162
+ "expectedRevision": "sha256:edb4979a4c4b5a37f8cf3450013461cd61b57733ff0d44f12ecfae01802ee819",
2163
+ "expected": false
2164
+ }
2165
+ ]
2166
+ },
2167
+ {
2168
+ "id": "preset.backedge.two-routes",
2169
+ "inputSchema": {
2170
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2171
+ "type": "object",
2172
+ "properties": {
2173
+ "first": {
2174
+ "$ref": "#/$defs/w"
2175
+ },
2176
+ "second": {
2177
+ "$ref": "#/$defs/w"
2178
+ }
2179
+ },
2180
+ "$defs": {
2181
+ "w": {
2182
+ "type": "object",
2183
+ "properties": {
2184
+ "secret": {
2185
+ "$ref": "#/$defs/t"
2186
+ },
2187
+ "back": {
2188
+ "$ref": "#"
2189
+ }
2190
+ }
2191
+ },
2192
+ "t": {
2193
+ "type": "string"
2194
+ }
2195
+ }
2196
+ },
2197
+ "secretPointers": [
2198
+ "/$defs/t"
2199
+ ],
2200
+ "cases": [
2201
+ {
2202
+ "id": "recursive",
2203
+ "presetInputs": [
2204
+ {}
2205
+ ],
2206
+ "expectedRevision": "sha256:970b0c76f6d09734ed283bb013335232d4f15d59cd01b53362010b4be08b6643",
2207
+ "expected": false
2208
+ }
2209
+ ]
2210
+ },
2211
+ {
2212
+ "id": "preset.backedge.two-routes",
2213
+ "inputSchema": {
2214
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2215
+ "type": "object",
2216
+ "properties": {
2217
+ "first": {
2218
+ "$ref": "#/$defs/w"
2219
+ },
2220
+ "second": {
2221
+ "$ref": "#/$defs/w"
2222
+ }
2223
+ },
2224
+ "$defs": {
2225
+ "w": {
2226
+ "type": "object",
2227
+ "properties": {
2228
+ "secret": {
2229
+ "$ref": "#/$defs/t"
2230
+ }
2231
+ }
2232
+ },
2233
+ "t": {
2234
+ "type": "string"
2235
+ }
2236
+ }
2237
+ },
2238
+ "secretPointers": [
2239
+ "/$defs/t"
2240
+ ],
2241
+ "cases": [
2242
+ {
2243
+ "id": "nonrecursive",
2244
+ "presetInputs": [
2245
+ {}
2246
+ ],
2247
+ "expectedRevision": "sha256:77074c767bc7a3902b7c9afd7af7fd02c0161fe7b16b1d3891fa9b55616f95c9",
2248
+ "expected": false
2249
+ }
2250
+ ]
2251
+ },
2252
+ {
2253
+ "id": "preset.backedge.one-first",
2254
+ "inputSchema": {
2255
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2256
+ "type": "object",
2257
+ "properties": {
2258
+ "first": {
2259
+ "$ref": "#/$defs/w"
2260
+ }
2261
+ },
2262
+ "$defs": {
2263
+ "w": {
2264
+ "type": "object",
2265
+ "properties": {
2266
+ "secret": {
2267
+ "$ref": "#/$defs/t"
2268
+ },
2269
+ "back": {
2270
+ "$ref": "#"
2271
+ }
2272
+ }
2273
+ },
2274
+ "t": {
2275
+ "type": "string"
2276
+ }
2277
+ }
2278
+ },
2279
+ "secretPointers": [
2280
+ "/$defs/t"
2281
+ ],
2282
+ "cases": [
2283
+ {
2284
+ "id": "empty",
2285
+ "presetInputs": [
2286
+ {}
2287
+ ],
2288
+ "expectedRevision": "sha256:c20ae647d4b6f68c8d9c8c11fcea1efb6b766a365ff818ad00f73c2354f6a782",
2289
+ "expected": true
2290
+ },
2291
+ {
2292
+ "id": "secret-depth-0",
2293
+ "presetInputs": [
2294
+ {
2295
+ "first": {
2296
+ "secret": "seeded"
2297
+ }
2298
+ }
2299
+ ],
2300
+ "expectedRevision": "sha256:6c7329ab688791ad155f45be9bc2803b03fdc3752d98d2e9b21d6e7e7da5648a",
2301
+ "expected": false
2302
+ },
2303
+ {
2304
+ "id": "secret-depth-1",
2305
+ "presetInputs": [
2306
+ {
2307
+ "first": {
2308
+ "back": {
2309
+ "first": {
2310
+ "secret": "seeded"
2311
+ }
2312
+ }
2313
+ }
2314
+ }
2315
+ ],
2316
+ "expectedRevision": "sha256:f4c430d8cec0873bf0f325da759046ebc3d726e38ae8cf023f49a0e4a43b5b52",
2317
+ "expected": false
2318
+ },
2319
+ {
2320
+ "id": "secret-depth-3",
2321
+ "presetInputs": [
2322
+ {
2323
+ "first": {
2324
+ "back": {
2325
+ "first": {
2326
+ "back": {
2327
+ "first": {
2328
+ "back": {
2329
+ "first": {
2330
+ "secret": "seeded"
2331
+ }
2332
+ }
2333
+ }
2334
+ }
2335
+ }
2336
+ }
2337
+ }
2338
+ }
2339
+ ],
2340
+ "expectedRevision": "sha256:e31548d38f409ad0d277a094b5f940cb7a56ff335b2d64b4acf1620216e1808c",
2341
+ "expected": false
2342
+ }
2343
+ ]
2344
+ },
2345
+ {
2346
+ "id": "preset.backedge.one-second",
2347
+ "inputSchema": {
2348
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2349
+ "type": "object",
2350
+ "properties": {
2351
+ "second": {
2352
+ "$ref": "#/$defs/w"
2353
+ }
2354
+ },
2355
+ "$defs": {
2356
+ "w": {
2357
+ "type": "object",
2358
+ "properties": {
2359
+ "secret": {
2360
+ "$ref": "#/$defs/t"
2361
+ },
2362
+ "back": {
2363
+ "$ref": "#"
2364
+ }
2365
+ }
2366
+ },
2367
+ "t": {
2368
+ "type": "string"
2369
+ }
2370
+ }
2371
+ },
2372
+ "secretPointers": [
2373
+ "/$defs/t"
2374
+ ],
2375
+ "cases": [
2376
+ {
2377
+ "id": "empty",
2378
+ "presetInputs": [
2379
+ {}
2380
+ ],
2381
+ "expectedRevision": "sha256:e0e8138bb26249191c856c5ba1c9f3adeed2e4be7b98ac0cde7a1ad6f03a082a",
2382
+ "expected": true
2383
+ },
2384
+ {
2385
+ "id": "secret-depth-0",
2386
+ "presetInputs": [
2387
+ {
2388
+ "second": {
2389
+ "secret": "seeded"
2390
+ }
2391
+ }
2392
+ ],
2393
+ "expectedRevision": "sha256:e8a59570ef0939c740176dd8be1eb9773906c17e3687aec81d479dce9dc33b6d",
2394
+ "expected": false
2395
+ },
2396
+ {
2397
+ "id": "secret-depth-1",
2398
+ "presetInputs": [
2399
+ {
2400
+ "second": {
2401
+ "back": {
2402
+ "second": {
2403
+ "secret": "seeded"
2404
+ }
2405
+ }
2406
+ }
2407
+ }
2408
+ ],
2409
+ "expectedRevision": "sha256:6993f8a0f384170f94eb18c6e04900fed8e44b863e16307cc26db455547c1977",
2410
+ "expected": false
2411
+ },
2412
+ {
2413
+ "id": "secret-depth-3",
2414
+ "presetInputs": [
2415
+ {
2416
+ "second": {
2417
+ "back": {
2418
+ "second": {
2419
+ "back": {
2420
+ "second": {
2421
+ "back": {
2422
+ "second": {
2423
+ "secret": "seeded"
2424
+ }
2425
+ }
2426
+ }
2427
+ }
2428
+ }
2429
+ }
2430
+ }
2431
+ }
2432
+ ],
2433
+ "expectedRevision": "sha256:71f4ae7fa0a3ff9efeaca3c6e1e384049616bebde0c96150d72c7bd0fc6674a2",
2434
+ "expected": false
2435
+ }
2436
+ ]
2437
+ },
2438
+ {
2439
+ "id": "preset.dfs.a-b",
2440
+ "inputSchema": {
2441
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2442
+ "type": "object",
2443
+ "properties": {
2444
+ "a": {
2445
+ "$ref": "#/$defs/A"
2446
+ },
2447
+ "b": {
2448
+ "$ref": "#/$defs/B"
2449
+ }
2450
+ },
2451
+ "$defs": {
2452
+ "A": {
2453
+ "$ref": "#/$defs/C"
2454
+ },
2455
+ "B": {
2456
+ "$ref": "#/$defs/C"
2457
+ },
2458
+ "C": {
2459
+ "type": "object",
2460
+ "properties": {
2461
+ "secret": {
2462
+ "$ref": "#/$defs/T"
2463
+ },
2464
+ "x": {
2465
+ "$ref": "#/$defs/B"
2466
+ }
2467
+ }
2468
+ },
2469
+ "T": {
2470
+ "type": "string"
2471
+ }
2472
+ }
2473
+ },
2474
+ "secretPointers": [
2475
+ "/$defs/T"
2476
+ ],
2477
+ "cases": [
2478
+ {
2479
+ "id": "empty",
2480
+ "presetInputs": [
2481
+ {}
2482
+ ],
2483
+ "expectedRevision": "sha256:c773baf6624695958cd25965d0227af8951b1f7c0afafb124ef1718607218d0d",
2484
+ "expected": false
2485
+ }
2486
+ ]
2487
+ },
2488
+ {
2489
+ "id": "preset.dfs.b-a",
2490
+ "inputSchema": {
2491
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2492
+ "type": "object",
2493
+ "properties": {
2494
+ "b": {
2495
+ "$ref": "#/$defs/B"
2496
+ },
2497
+ "a": {
2498
+ "$ref": "#/$defs/A"
2499
+ }
2500
+ },
2501
+ "$defs": {
2502
+ "A": {
2503
+ "$ref": "#/$defs/C"
2504
+ },
2505
+ "B": {
2506
+ "$ref": "#/$defs/C"
2507
+ },
2508
+ "C": {
2509
+ "type": "object",
2510
+ "properties": {
2511
+ "secret": {
2512
+ "$ref": "#/$defs/T"
2513
+ },
2514
+ "x": {
2515
+ "$ref": "#/$defs/B"
2516
+ }
2517
+ }
2518
+ },
2519
+ "T": {
2520
+ "type": "string"
2521
+ }
2522
+ }
2523
+ },
2524
+ "secretPointers": [
2525
+ "/$defs/T"
2526
+ ],
2527
+ "cases": [
2528
+ {
2529
+ "id": "empty",
2530
+ "presetInputs": [
2531
+ {}
2532
+ ],
2533
+ "expectedRevision": "sha256:c773baf6624695958cd25965d0227af8951b1f7c0afafb124ef1718607218d0d",
2534
+ "expected": false
2535
+ }
2536
+ ]
2537
+ },
2538
+ {
2539
+ "id": "preset.dfs.only-a",
2540
+ "inputSchema": {
2541
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2542
+ "type": "object",
2543
+ "properties": {
2544
+ "a": {
2545
+ "$ref": "#/$defs/A"
2546
+ }
2547
+ },
2548
+ "$defs": {
2549
+ "A": {
2550
+ "$ref": "#/$defs/C"
2551
+ },
2552
+ "B": {
2553
+ "$ref": "#/$defs/C"
2554
+ },
2555
+ "C": {
2556
+ "type": "object",
2557
+ "properties": {
2558
+ "secret": {
2559
+ "$ref": "#/$defs/T"
2560
+ },
2561
+ "x": {
2562
+ "$ref": "#/$defs/B"
2563
+ }
2564
+ }
2565
+ },
2566
+ "T": {
2567
+ "type": "string"
2568
+ }
2569
+ }
2570
+ },
2571
+ "secretPointers": [
2572
+ "/$defs/T"
2573
+ ],
2574
+ "cases": [
2575
+ {
2576
+ "id": "empty",
2577
+ "presetInputs": [
2578
+ {}
2579
+ ],
2580
+ "expectedRevision": "sha256:bb444b41eed04c624191fe7eb9cb3c6268f3c29e478d26413dfbb4e702c38a29",
2581
+ "expected": true
2582
+ },
2583
+ {
2584
+ "id": "direct-secret",
2585
+ "presetInputs": [
2586
+ {
2587
+ "a": {
2588
+ "secret": "seeded"
2589
+ }
2590
+ }
2591
+ ],
2592
+ "expectedRevision": "sha256:dcc0bfa72eb755615c2c4f84f2d39478c9316a2c412f1b212004105a243a4b24",
2593
+ "expected": false
2594
+ }
2595
+ ]
2596
+ },
2597
+ {
2598
+ "id": "preset.dfs.only-b",
2599
+ "inputSchema": {
2600
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2601
+ "type": "object",
2602
+ "properties": {
2603
+ "b": {
2604
+ "$ref": "#/$defs/B"
2605
+ }
2606
+ },
2607
+ "$defs": {
2608
+ "A": {
2609
+ "$ref": "#/$defs/C"
2610
+ },
2611
+ "B": {
2612
+ "$ref": "#/$defs/C"
2613
+ },
2614
+ "C": {
2615
+ "type": "object",
2616
+ "properties": {
2617
+ "secret": {
2618
+ "$ref": "#/$defs/T"
2619
+ },
2620
+ "x": {
2621
+ "$ref": "#/$defs/B"
2622
+ }
2623
+ }
2624
+ },
2625
+ "T": {
2626
+ "type": "string"
2627
+ }
2628
+ }
2629
+ },
2630
+ "secretPointers": [
2631
+ "/$defs/T"
2632
+ ],
2633
+ "cases": [
2634
+ {
2635
+ "id": "empty",
2636
+ "presetInputs": [
2637
+ {}
2638
+ ],
2639
+ "expectedRevision": "sha256:7c74b5ea8e573c806b0eb12a7fd214093ee54a6abe81ee22333e3c4cc2949bc9",
2640
+ "expected": true
2641
+ },
2642
+ {
2643
+ "id": "recursive-secret",
2644
+ "presetInputs": [
2645
+ {
2646
+ "b": {
2647
+ "x": {
2648
+ "x": {
2649
+ "secret": "seeded"
2650
+ }
2651
+ }
2652
+ }
2653
+ }
2654
+ ],
2655
+ "expectedRevision": "sha256:3e0a193c1d7b4d6799d765ad761b4ddff261101bfda1310f00b13c88771a0dc8",
2656
+ "expected": false
2657
+ }
2658
+ ]
2659
+ },
2660
+ {
2661
+ "id": "preset.natural-backedge",
2662
+ "inputSchema": {
2663
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2664
+ "type": "object",
2665
+ "properties": {
2666
+ "start": {
2667
+ "$ref": "#/$defs/node/properties/next"
2668
+ }
2669
+ },
2670
+ "$defs": {
2671
+ "node": {
2672
+ "type": "object",
2673
+ "properties": {
2674
+ "secret": {
2675
+ "$ref": "#/$defs/target"
2676
+ },
2677
+ "next": {
2678
+ "$ref": "#/$defs/node"
2679
+ }
2680
+ }
2681
+ },
2682
+ "target": {
2683
+ "type": "string"
2684
+ }
2685
+ }
2686
+ },
2687
+ "secretPointers": [
2688
+ "/$defs/target"
2689
+ ],
2690
+ "cases": [
2691
+ {
2692
+ "id": "empty",
2693
+ "presetInputs": [
2694
+ {}
2695
+ ],
2696
+ "expectedRevision": "sha256:f41aeac2ab89e34318d842846ba08f288d8277a1d932b44a276ee7f8a3436536",
2697
+ "expected": true
2698
+ },
2699
+ {
2700
+ "id": "direct",
2701
+ "presetInputs": [
2702
+ {
2703
+ "start": {
2704
+ "secret": "seeded"
2705
+ }
2706
+ }
2707
+ ],
2708
+ "expectedRevision": "sha256:8282d5e9f86ef309400b7c95ff187716c08b49a0fd11cd8c37719d7b511700cb",
2709
+ "expected": false
2710
+ },
2711
+ {
2712
+ "id": "recursive",
2713
+ "presetInputs": [
2714
+ {
2715
+ "start": {
2716
+ "next": {
2717
+ "secret": "seeded"
2718
+ }
2719
+ }
2720
+ }
2721
+ ],
2722
+ "expectedRevision": "sha256:6a4ea4de8699f187c635873c238e5c76389cca98c6c384e8d879a5f456fb4518",
2723
+ "expected": false
2724
+ }
2725
+ ]
2726
+ },
2727
+ {
2728
+ "id": "preset.dynamic-taint",
2729
+ "inputSchema": {
2730
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2731
+ "type": "object",
2732
+ "properties": {
2733
+ "start": {
2734
+ "$ref": "#/$defs/node"
2735
+ }
2736
+ },
2737
+ "$defs": {
2738
+ "node": {
2739
+ "type": "object",
2740
+ "properties": {
2741
+ "secret": {
2742
+ "$ref": "#/$defs/target"
2743
+ }
2744
+ }
2745
+ },
2746
+ "target": {
2747
+ "type": "string"
2748
+ }
2749
+ }
2750
+ },
2751
+ "secretPointers": [
2752
+ "/$defs/target"
2753
+ ],
2754
+ "cases": [
2755
+ {
2756
+ "id": "static",
2757
+ "presetInputs": [
2758
+ {}
2759
+ ],
2760
+ "expectedRevision": "sha256:2727c2f9de9033ddb17cfdc7110e751ecd5aa2c4847b846f08f6c29fe3b48c8a",
2761
+ "expected": true
2762
+ }
2763
+ ]
2764
+ },
2765
+ {
2766
+ "id": "preset.dynamic-taint",
2767
+ "inputSchema": {
2768
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2769
+ "type": "object",
2770
+ "properties": {
2771
+ "start": {
2772
+ "$ref": "#/$defs/node"
2773
+ }
2774
+ },
2775
+ "$defs": {
2776
+ "node": {
2777
+ "type": "object",
2778
+ "properties": {
2779
+ "secret": {
2780
+ "$ref": "#/$defs/target"
2781
+ }
2782
+ },
2783
+ "patternProperties": {
2784
+ "^loop$": {
2785
+ "$ref": "#/$defs/node"
2786
+ }
2787
+ }
2788
+ },
2789
+ "target": {
2790
+ "type": "string"
2791
+ }
2792
+ }
2793
+ },
2794
+ "secretPointers": [
2795
+ "/$defs/target"
2796
+ ],
2797
+ "cases": [
2798
+ {
2799
+ "id": "dynamic",
2800
+ "presetInputs": [
2801
+ {}
2802
+ ],
2803
+ "expectedRevision": "sha256:427ca8286569f7b86b9cdf0d74f8db5055a536e42b6f98249c1ddd2b6f8627e8",
2804
+ "expected": false
2805
+ }
2806
+ ]
2807
+ },
2808
+ {
2809
+ "id": "preset.irreducible-false-target",
2810
+ "inputSchema": {
2811
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2812
+ "type": "object",
2813
+ "properties": {
2814
+ "a": {
2815
+ "$ref": "#/$defs/A"
2816
+ },
2817
+ "b": {
2818
+ "$ref": "#/$defs/B"
2819
+ }
2820
+ },
2821
+ "$defs": {
2822
+ "A": {
2823
+ "type": "object",
2824
+ "properties": {
2825
+ "secret": {
2826
+ "$ref": "#/$defs/target"
2827
+ },
2828
+ "next": {
2829
+ "$ref": "#/$defs/B"
2830
+ }
2831
+ }
2832
+ },
2833
+ "B": {
2834
+ "type": "object",
2835
+ "properties": {
2836
+ "next": {
2837
+ "$ref": "#/$defs/A"
2838
+ }
2839
+ }
2840
+ },
2841
+ "target": false
2842
+ }
2843
+ },
2844
+ "secretPointers": [
2845
+ "/$defs/target"
2846
+ ],
2847
+ "cases": [
2848
+ {
2849
+ "id": "static",
2850
+ "presetInputs": [
2851
+ {}
2852
+ ],
2853
+ "expectedRevision": "sha256:4a6b71f07ed39c5ea5f4ffa3f90c56a684459d572e33e6ec539614516783dad4",
2854
+ "expected": true
2855
+ }
2856
+ ]
2857
+ },
2858
+ {
2859
+ "id": "preset.irreducible-false-target",
2860
+ "inputSchema": {
2861
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2862
+ "type": "object",
2863
+ "properties": {
2864
+ "a": {
2865
+ "$ref": "#/$defs/A"
2866
+ },
2867
+ "b": {
2868
+ "$ref": "#/$defs/B"
2869
+ }
2870
+ },
2871
+ "$defs": {
2872
+ "A": {
2873
+ "type": "object",
2874
+ "properties": {
2875
+ "secret": {
2876
+ "$ref": "#/$defs/target"
2877
+ },
2878
+ "next": {
2879
+ "$ref": "#/$defs/B"
2880
+ }
2881
+ },
2882
+ "patternProperties": {
2883
+ "^dynamic": {
2884
+ "$ref": "#/$defs/target"
2885
+ }
2886
+ }
2887
+ },
2888
+ "B": {
2889
+ "type": "object",
2890
+ "properties": {
2891
+ "next": {
2892
+ "$ref": "#/$defs/A"
2893
+ }
2894
+ }
2895
+ },
2896
+ "target": false
2897
+ }
2898
+ },
2899
+ "secretPointers": [
2900
+ "/$defs/target"
2901
+ ],
2902
+ "cases": [
2903
+ {
2904
+ "id": "dynamic",
2905
+ "presetInputs": [
2906
+ {}
2907
+ ],
2908
+ "expectedRevision": "sha256:2e8eea917ae5133e944f39fbbcf4585e4ebe849fcad3982f5ef1a8277964d0bd",
2909
+ "expected": false
2910
+ }
2911
+ ]
2912
+ },
2913
+ {
2914
+ "id": "preset.side-cycle",
2915
+ "inputSchema": {
2916
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2917
+ "type": "object",
2918
+ "properties": {
2919
+ "sideA": {
2920
+ "$ref": "#/$defs/A"
2921
+ },
2922
+ "sideB": {
2923
+ "$ref": "#/$defs/B"
2924
+ },
2925
+ "secret": {
2926
+ "$ref": "#/$defs/target"
2927
+ }
2928
+ },
2929
+ "$defs": {
2930
+ "A": {
2931
+ "type": "object",
2932
+ "properties": {
2933
+ "next": {
2934
+ "$ref": "#/$defs/B"
2935
+ }
2936
+ }
2937
+ },
2938
+ "B": {
2939
+ "type": "object",
2940
+ "properties": {
2941
+ "next": {
2942
+ "$ref": "#/$defs/A"
2943
+ }
2944
+ }
2945
+ },
2946
+ "target": {
2947
+ "type": "string"
2948
+ }
2949
+ }
2950
+ },
2951
+ "secretPointers": [
2952
+ "/$defs/target"
2953
+ ],
2954
+ "cases": [
2955
+ {
2956
+ "id": "empty",
2957
+ "presetInputs": [
2958
+ {}
2959
+ ],
2960
+ "expectedRevision": "sha256:3c5da5d35946329c70d4c31c2e95369cb7e4ca908f8ac60e80d73502c7c1093b",
2961
+ "expected": true
2962
+ },
2963
+ {
2964
+ "id": "populated",
2965
+ "presetInputs": [
2966
+ {
2967
+ "secret": "seeded"
2968
+ }
2969
+ ],
2970
+ "expectedRevision": "sha256:75408222dd3f48e3bc09851e3d0d783789b6510888269067799d5e09aa742a3b",
2971
+ "expected": false
2972
+ }
2973
+ ]
2974
+ },
2975
+ {
2976
+ "id": "preset.scc-three",
2977
+ "inputSchema": {
2978
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2979
+ "type": "object",
2980
+ "properties": {
2981
+ "start": {
2982
+ "$ref": "#/$defs/n0"
2983
+ },
2984
+ "secret": {
2985
+ "type": "string"
2986
+ }
2987
+ },
2988
+ "$defs": {
2989
+ "n0": {
2990
+ "type": "object",
2991
+ "properties": {
2992
+ "p0": {
2993
+ "$ref": "#/$defs/n0"
2994
+ },
2995
+ "p1": {
2996
+ "$ref": "#/$defs/n1"
2997
+ },
2998
+ "p2": {
2999
+ "$ref": "#/$defs/n2"
3000
+ }
3001
+ }
3002
+ },
3003
+ "n1": {
3004
+ "type": "object",
3005
+ "properties": {
3006
+ "p0": {
3007
+ "$ref": "#/$defs/n0"
3008
+ },
3009
+ "p1": {
3010
+ "$ref": "#/$defs/n1"
3011
+ },
3012
+ "p2": {
3013
+ "$ref": "#/$defs/n2"
3014
+ }
3015
+ }
3016
+ },
3017
+ "n2": {
3018
+ "type": "object",
3019
+ "properties": {
3020
+ "p0": {
3021
+ "$ref": "#/$defs/n0"
3022
+ },
3023
+ "p1": {
3024
+ "$ref": "#/$defs/n1"
3025
+ },
3026
+ "p2": {
3027
+ "$ref": "#/$defs/n2"
3028
+ }
3029
+ }
3030
+ }
3031
+ }
3032
+ },
3033
+ "secretPointers": [
3034
+ "/properties/secret"
3035
+ ],
3036
+ "cases": [
3037
+ {
3038
+ "id": "empty",
3039
+ "presetInputs": [
3040
+ {}
3041
+ ],
3042
+ "expectedRevision": "sha256:7eda17554aba65208864b068517c47c1dbb1b16620a093ec07172d5b0c189f24",
3043
+ "expected": true
3044
+ },
3045
+ {
3046
+ "id": "direct-secret",
3047
+ "presetInputs": [
3048
+ {
3049
+ "secret": "seeded"
3050
+ }
3051
+ ],
3052
+ "expectedRevision": "sha256:db36cd01713132886ac89d3ec4b193fdbe7a1839c0695ac8f193b11a2a881a78",
3053
+ "expected": false
3054
+ }
3055
+ ]
3056
+ },
3057
+ {
3058
+ "id": "preset.static-applicator-chain",
3059
+ "inputSchema": {
3060
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3061
+ "type": "object",
3062
+ "dependentSchemas": {
3063
+ "trigger": {
3064
+ "allOf": [
3065
+ {
3066
+ "anyOf": [
3067
+ {
3068
+ "oneOf": [
3069
+ {
3070
+ "not": {
3071
+ "if": {
3072
+ "then": {
3073
+ "else": {
3074
+ "properties": {
3075
+ "secret": {
3076
+ "$ref": "#/$defs/target"
3077
+ }
3078
+ }
3079
+ }
3080
+ }
3081
+ }
3082
+ }
3083
+ }
3084
+ ]
3085
+ }
3086
+ ]
3087
+ }
3088
+ ]
3089
+ }
3090
+ },
3091
+ "$defs": {
3092
+ "target": {
3093
+ "type": "string"
3094
+ }
3095
+ }
3096
+ },
3097
+ "secretPointers": [
3098
+ "/$defs/target"
3099
+ ],
3100
+ "cases": [
3101
+ {
3102
+ "id": "secret-without-trigger",
3103
+ "presetInputs": [
3104
+ {
3105
+ "secret": "seeded"
3106
+ }
3107
+ ],
3108
+ "expectedRevision": "sha256:454502e6273f731cde4ffe5732d09684bba3898614f9004bdf8ebf95abf1d21a",
3109
+ "expected": true
3110
+ },
3111
+ {
3112
+ "id": "trigger-only",
3113
+ "presetInputs": [
3114
+ {
3115
+ "trigger": true
3116
+ }
3117
+ ],
3118
+ "expectedRevision": "sha256:55b5018c21410443714ed346e8ca63d22d1c91205acb6ec59089658f2021ae62",
3119
+ "expected": true
3120
+ },
3121
+ {
3122
+ "id": "later-preset-secret",
3123
+ "presetInputs": [
3124
+ {
3125
+ "trigger": true
3126
+ },
3127
+ {
3128
+ "trigger": true,
3129
+ "secret": "seeded"
3130
+ }
3131
+ ],
3132
+ "expectedRevision": "sha256:f04c72860ab8f2310f32dd15e89189c5072c99d10fce9996e841754e4a4fdb6b",
3133
+ "expected": false
3134
+ }
3135
+ ]
3136
+ }
3137
+ ],
3138
+ "workloads": [
3139
+ {
3140
+ "id": "preset.workload.deep.no-rule-empty",
3141
+ "recipe": {
3142
+ "kind": "deep-chain",
3143
+ "depth": 1500,
3144
+ "leaf": "empty",
3145
+ "secretPointer": false
3146
+ },
3147
+ "expected": true,
3148
+ "expectedRevision": "sha256:4961e386e3903a17c6d391336d8fd1124cc16b77dda818f03546688b22fbca20",
3149
+ "canonicalBytes": 15631,
3150
+ "nodeReferenceBudget": {
3151
+ "timeoutMs": 2500,
3152
+ "execArgv": []
3153
+ }
3154
+ },
3155
+ {
3156
+ "id": "preset.workload.deep.secret-rule-empty",
3157
+ "recipe": {
3158
+ "kind": "deep-chain",
3159
+ "depth": 1500,
3160
+ "leaf": "empty",
3161
+ "secretPointer": true
3162
+ },
3163
+ "expected": true,
3164
+ "expectedRevision": "sha256:5b883890d581ecfa44b19651b724b0b69dd860008fae15471a4fe32c9489311e",
3165
+ "canonicalBytes": 15699,
3166
+ "nodeReferenceBudget": {
3167
+ "timeoutMs": 2500,
3168
+ "execArgv": []
3169
+ }
3170
+ },
3171
+ {
3172
+ "id": "preset.workload.deep.secret-rule-populated",
3173
+ "recipe": {
3174
+ "kind": "deep-chain",
3175
+ "depth": 1500,
3176
+ "leaf": "secret",
3177
+ "secretPointer": true
3178
+ },
3179
+ "expected": false,
3180
+ "expectedRevision": "sha256:abbe71354683f67c35f16ab880b711c58a2992423b7cf7dd515658c26a93dcb3",
3181
+ "canonicalBytes": 15716,
3182
+ "nodeReferenceBudget": {
3183
+ "timeoutMs": 2500,
3184
+ "execArgv": []
3185
+ }
3186
+ },
3187
+ {
3188
+ "id": "preset.workload.cartesian.empty",
3189
+ "recipe": {
3190
+ "kind": "rules-presets-cartesian",
3191
+ "propertyCount": 225,
3192
+ "ruleCopies": 2,
3193
+ "presetCount": 225
3194
+ },
3195
+ "expected": true,
3196
+ "expectedRevision": "sha256:ba21b5a901ba1678e30583c5912b4675fe560cbce19ce6d95a05c13cce796156",
3197
+ "canonicalBytes": 54026,
3198
+ "nodeReferenceBudget": {
3199
+ "timeoutMs": 2500,
3200
+ "execArgv": []
3201
+ }
3202
+ },
3203
+ {
3204
+ "id": "preset.workload.dense.empty",
3205
+ "recipe": {
3206
+ "kind": "dense-mutual-reference",
3207
+ "graphSize": 120
3208
+ },
3209
+ "expected": true,
3210
+ "expectedRevision": "sha256:5b6b7c8957ec8357ef598d2b1f4ac264279671178ba8388de61e1a626f284724",
3211
+ "canonicalBytes": 426770,
3212
+ "nodeReferenceBudget": {
3213
+ "timeoutMs": 2500,
3214
+ "execArgv": []
3215
+ }
3216
+ },
3217
+ {
3218
+ "id": "preset.workload.wide.no-secret-control",
3219
+ "recipe": {
3220
+ "kind": "wide-array",
3221
+ "itemCount": 900000,
3222
+ "secretRule": false
3223
+ },
3224
+ "expected": true,
3225
+ "expectedRevision": "sha256:24379ec4d68d3ea0e212e3c9d64f0a8ff343392646f67b0532d8cbe4be93cef0",
3226
+ "canonicalBytes": 3602016,
3227
+ "nodeReferenceBudget": {
3228
+ "timeoutMs": 10000,
3229
+ "execArgv": [
3230
+ "--max-old-space-size=512",
3231
+ "--max-semi-space-size=48"
3232
+ ]
3233
+ }
3234
+ },
3235
+ {
3236
+ "id": "preset.workload.wide.secret",
3237
+ "recipe": {
3238
+ "kind": "wide-array",
3239
+ "itemCount": 900000,
3240
+ "secretRule": true
3241
+ },
3242
+ "expected": false,
3243
+ "expectedRevision": "sha256:a2e47aeb49fb9fd8a3c7343bb76341cfc63ba3697f7c71e0b6910fc0fc36d4a2",
3244
+ "canonicalBytes": 3602113,
3245
+ "nodeReferenceBudget": {
3246
+ "timeoutMs": 10000,
3247
+ "execArgv": [
3248
+ "--max-old-space-size=512",
3249
+ "--max-semi-space-size=48"
3250
+ ],
3251
+ "maxRssKiBExclusive": 458752,
3252
+ "maxRssDeltaKiBExclusive": 40960,
3253
+ "controlId": "preset.workload.wide.no-secret-control"
3254
+ }
3255
+ }
3256
+ ]
3257
+ }