@mgiles/perk 2.3.0 → 3.0.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 (128) hide show
  1. package/README.md +1 -1
  2. package/extension/adapters/planAdapterPlannotator.ts +132 -91
  3. package/extension/adapters/planAdapterTombell.ts +5 -3
  4. package/extension/doors/address.ts +235 -37
  5. package/extension/doors/annotationPush.ts +924 -0
  6. package/extension/doors/auditWaveTools.ts +352 -0
  7. package/extension/doors/ciExecutor.ts +220 -55
  8. package/extension/doors/draftReviewWaveTools.ts +384 -0
  9. package/extension/doors/harvestWaveTools.ts +279 -0
  10. package/extension/doors/land.ts +1 -0
  11. package/extension/doors/learn.ts +24 -6
  12. package/extension/doors/learnFactory.ts +33 -7
  13. package/extension/doors/lifecycleGates.ts +1 -1
  14. package/extension/doors/objectiveReviewBrowser.ts +514 -0
  15. package/extension/doors/objectiveStack.ts +1143 -0
  16. package/extension/doors/planReviewBrowser.ts +453 -0
  17. package/extension/doors/plannotatorHandoff.ts +120 -49
  18. package/extension/doors/prReview.ts +26 -16
  19. package/extension/doors/prReviewBrowser.ts +31 -23
  20. package/extension/doors/prReviewDynamic.ts +25 -18
  21. package/extension/doors/prReviewTerminal.ts +6 -11
  22. package/extension/doors/reviewWaveTools.ts +374 -0
  23. package/extension/doors/selfcheck.ts +1 -1
  24. package/extension/doors/submit.ts +82 -7
  25. package/extension/factories/gistAuthor.ts +4 -4
  26. package/extension/factories/gistDraft.ts +1 -1
  27. package/extension/factories/gistSave.ts +2 -2
  28. package/extension/factories/objective.ts +7 -7
  29. package/extension/factories/objectiveAuthor.ts +5 -4
  30. package/extension/factories/objectiveDraft.ts +61 -6
  31. package/extension/factories/objectivePlan.ts +163 -9
  32. package/extension/factories/objectiveSave.ts +16 -1
  33. package/extension/factories/planMode.ts +5 -3
  34. package/extension/factories/planReview.ts +131 -36
  35. package/extension/factories/planTitle.ts +27 -9
  36. package/extension/hunkFeedback/inbox.ts +389 -0
  37. package/extension/hunkFeedback/perkFeedback.ts +364 -0
  38. package/extension/hunkFeedback/receiver.ts +296 -0
  39. package/extension/hunkFeedback/store.ts +533 -0
  40. package/extension/index.ts +109 -44
  41. package/extension/substrate/cache.ts +75 -22
  42. package/extension/substrate/coldDoor.ts +2 -3
  43. package/extension/substrate/config.ts +36 -12
  44. package/extension/substrate/git.ts +10 -0
  45. package/extension/substrate/providers.ts +4 -33
  46. package/extension/substrate/resources.ts +11 -0
  47. package/extension/substrate/result.ts +13 -5
  48. package/extension/substrate/sessionData.ts +3 -3
  49. package/extension/substrate/sessionPointers.ts +3 -3
  50. package/extension/substrate/structuredOutput.ts +78 -19
  51. package/extension/substrate/toolGating.ts +170 -23
  52. package/extension/substrate/workflowState.ts +6 -0
  53. package/extension/surfaces/footerProvider.ts +6 -6
  54. package/extension/surfaces/surfaces.ts +98 -282
  55. package/extension/vendor/btw/btw.ts +57 -12
  56. package/extension/waves/adversarialReviewWave.ts +164 -0
  57. package/extension/waves/auditWave.ts +312 -0
  58. package/extension/waves/draftReviewWave.ts +189 -0
  59. package/extension/waves/harvestWave.ts +399 -0
  60. package/extension/waves/memoryAdapter.ts +14 -1
  61. package/extension/waves/objectiveExplorerWave.ts +120 -0
  62. package/extension/waves/prReviewDynamicWave.ts +291 -61
  63. package/extension/waves/prReviewWave.ts +58 -13
  64. package/extension/waves/reportWave.ts +406 -106
  65. package/extension/waves/reviewClassifierWave.ts +109 -0
  66. package/extension/waves/rpcAdapter.ts +65 -2
  67. package/extension/worker/readOnlySession.ts +3 -3
  68. package/extension/worker/worker.ts +71 -93
  69. package/extension/workerMain.ts +4 -6
  70. package/package.json +15 -5
  71. package/prompts/README.md +19 -0
  72. package/prompts/_fixtures/live.yaml +66 -65
  73. package/prompts/common/resume-advisory.md +1 -0
  74. package/prompts/contexts/adapters/plannotator-gist.md +13 -0
  75. package/prompts/contexts/adapters/plannotator-objective.md +1 -2
  76. package/prompts/contexts/adapters/plannotator-plan.md +1 -2
  77. package/prompts/contexts/gist-authoring.md +6 -20
  78. package/prompts/contexts/objective-authoring.md +6 -18
  79. package/prompts/stages/address/action.md +3 -14
  80. package/prompts/stages/address/preview.md +2 -13
  81. package/prompts/stages/audit.md +18 -0
  82. package/prompts/stages/gist-author/seed.md +4 -4
  83. package/prompts/stages/gist-save.md +1 -1
  84. package/prompts/stages/implement.md +3 -1
  85. package/prompts/stages/learn-code.md +1 -1
  86. package/prompts/stages/learn-docs.md +2 -2
  87. package/prompts/stages/learn-harvest.md +15 -0
  88. package/prompts/stages/learn-orchestrate.md +1 -1
  89. package/prompts/stages/objective-author/adopt.md +5 -3
  90. package/prompts/stages/objective-author/file.md +5 -4
  91. package/prompts/stages/objective-author/seed.md +5 -4
  92. package/prompts/stages/objective-land.md +7 -0
  93. package/prompts/stages/objective-plan/guidance.md +2 -13
  94. package/prompts/stages/objective-plan/seed.md +5 -12
  95. package/prompts/stages/objective-recover.md +8 -0
  96. package/prompts/stages/objective-replan.md +4 -2
  97. package/prompts/stages/objective-review-browser.md +9 -0
  98. package/prompts/stages/objective-sync.md +6 -0
  99. package/prompts/stages/plan-from/adopt.md +2 -2
  100. package/prompts/stages/plan-from/file.md +2 -2
  101. package/prompts/stages/plan-review-browser.md +9 -0
  102. package/prompts/stages/pr-review-browser/active.md +6 -14
  103. package/prompts/stages/pr-review-browser/foreign.md +6 -14
  104. package/prompts/stages/pr-review-dynamic.md +3 -3
  105. package/prompts/stages/pr-review-terminal/active.md +7 -15
  106. package/prompts/stages/pr-review-terminal/foreign.md +7 -15
  107. package/prompts/stages/pr-review.md +2 -2
  108. package/prompts/stages/replan.md +3 -3
  109. package/shared/README.md +2 -2
  110. package/shared/bindings.yaml +12 -0
  111. package/shared/contracts-history.md +11 -0
  112. package/shared/contracts.md +3652 -236
  113. package/shared/providers.yaml +27 -60
  114. package/shared/registry.yaml +32 -8
  115. package/shared/schemas/outputs/objective-doctor.schema.json +449 -0
  116. package/shared/schemas/outputs/objective-stack-land.schema.json +732 -0
  117. package/shared/schemas/outputs/objective-stack-recover.schema.json +397 -0
  118. package/shared/schemas/outputs/objective-stack-status.schema.json +577 -0
  119. package/shared/schemas/outputs/objective-stack-sync.schema.json +184 -0
  120. package/shared/schemas/outputs/plan-save.schema.json +12 -0
  121. package/shared/schemas/outputs/pr-submit.schema.json +177 -1
  122. package/extension/adapters/todoAdapterJuicesharp.ts +0 -102
  123. package/extension/checkpoints/checkpoints.ts +0 -550
  124. package/extension/checkpoints/planSteps.ts +0 -108
  125. package/extension/doors/askUser.ts +0 -198
  126. package/prompts/common/output-schemas/objective-explorer.md +0 -36
  127. package/prompts/common/output-schemas/review-classifier.md +0 -47
  128. package/prompts/contexts/adapters/juicesharp-todo.md +0 -7
@@ -0,0 +1,732 @@
1
+ {
2
+ "$defs": {
3
+ "EvidenceLayerOut": {
4
+ "additionalProperties": false,
5
+ "properties": {
6
+ "node_id": {
7
+ "title": "Node Id",
8
+ "type": "string"
9
+ },
10
+ "plan_id": {
11
+ "title": "Plan Id",
12
+ "type": "string"
13
+ },
14
+ "pr_number": {
15
+ "title": "Pr Number",
16
+ "type": "integer"
17
+ },
18
+ "base_sha": {
19
+ "title": "Base Sha",
20
+ "type": "string"
21
+ },
22
+ "head_sha": {
23
+ "title": "Head Sha",
24
+ "type": "string"
25
+ },
26
+ "merge_commit_sha": {
27
+ "title": "Merge Commit Sha",
28
+ "type": "string"
29
+ }
30
+ },
31
+ "required": [
32
+ "node_id",
33
+ "plan_id",
34
+ "pr_number",
35
+ "base_sha",
36
+ "head_sha",
37
+ "merge_commit_sha"
38
+ ],
39
+ "title": "EvidenceLayerOut",
40
+ "type": "object"
41
+ },
42
+ "FindingOut": {
43
+ "additionalProperties": false,
44
+ "properties": {
45
+ "code": {
46
+ "title": "Code",
47
+ "type": "string"
48
+ },
49
+ "message": {
50
+ "title": "Message",
51
+ "type": "string"
52
+ },
53
+ "node_id": {
54
+ "anyOf": [
55
+ {
56
+ "type": "string"
57
+ },
58
+ {
59
+ "type": "null"
60
+ }
61
+ ],
62
+ "title": "Node Id"
63
+ },
64
+ "plan_id": {
65
+ "anyOf": [
66
+ {
67
+ "type": "string"
68
+ },
69
+ {
70
+ "type": "null"
71
+ }
72
+ ],
73
+ "title": "Plan Id"
74
+ }
75
+ },
76
+ "required": [
77
+ "code",
78
+ "message",
79
+ "node_id",
80
+ "plan_id"
81
+ ],
82
+ "title": "FindingOut",
83
+ "type": "object"
84
+ },
85
+ "LandLayerOut": {
86
+ "additionalProperties": false,
87
+ "description": "One layer's readiness row \u2014 mirrors ``LandLayerReadiness`` field-for-field\n(unassessed rows serialize their ``None`` observations as-is).",
88
+ "properties": {
89
+ "node_id": {
90
+ "title": "Node Id",
91
+ "type": "string"
92
+ },
93
+ "plan_id": {
94
+ "anyOf": [
95
+ {
96
+ "type": "string"
97
+ },
98
+ {
99
+ "type": "null"
100
+ }
101
+ ],
102
+ "title": "Plan Id"
103
+ },
104
+ "pr_number": {
105
+ "anyOf": [
106
+ {
107
+ "type": "integer"
108
+ },
109
+ {
110
+ "type": "null"
111
+ }
112
+ ],
113
+ "title": "Pr Number"
114
+ },
115
+ "branch": {
116
+ "anyOf": [
117
+ {
118
+ "type": "string"
119
+ },
120
+ {
121
+ "type": "null"
122
+ }
123
+ ],
124
+ "title": "Branch"
125
+ },
126
+ "expected_base_ref": {
127
+ "anyOf": [
128
+ {
129
+ "type": "string"
130
+ },
131
+ {
132
+ "type": "null"
133
+ }
134
+ ],
135
+ "title": "Expected Base Ref"
136
+ },
137
+ "expected_head_sha": {
138
+ "anyOf": [
139
+ {
140
+ "type": "string"
141
+ },
142
+ {
143
+ "type": "null"
144
+ }
145
+ ],
146
+ "title": "Expected Head Sha"
147
+ },
148
+ "base_sha": {
149
+ "anyOf": [
150
+ {
151
+ "type": "string"
152
+ },
153
+ {
154
+ "type": "null"
155
+ }
156
+ ],
157
+ "title": "Base Sha"
158
+ },
159
+ "assessed": {
160
+ "title": "Assessed",
161
+ "type": "boolean"
162
+ },
163
+ "observed_state": {
164
+ "anyOf": [
165
+ {
166
+ "type": "string"
167
+ },
168
+ {
169
+ "type": "null"
170
+ }
171
+ ],
172
+ "title": "Observed State"
173
+ },
174
+ "observed_is_draft": {
175
+ "anyOf": [
176
+ {
177
+ "type": "boolean"
178
+ },
179
+ {
180
+ "type": "null"
181
+ }
182
+ ],
183
+ "title": "Observed Is Draft"
184
+ },
185
+ "observed_base_ref": {
186
+ "anyOf": [
187
+ {
188
+ "type": "string"
189
+ },
190
+ {
191
+ "type": "null"
192
+ }
193
+ ],
194
+ "title": "Observed Base Ref"
195
+ },
196
+ "observed_head_ref": {
197
+ "anyOf": [
198
+ {
199
+ "type": "string"
200
+ },
201
+ {
202
+ "type": "null"
203
+ }
204
+ ],
205
+ "title": "Observed Head Ref"
206
+ },
207
+ "observed_head_sha": {
208
+ "anyOf": [
209
+ {
210
+ "type": "string"
211
+ },
212
+ {
213
+ "type": "null"
214
+ }
215
+ ],
216
+ "title": "Observed Head Sha"
217
+ },
218
+ "mergeable": {
219
+ "anyOf": [
220
+ {
221
+ "type": "string"
222
+ },
223
+ {
224
+ "type": "null"
225
+ }
226
+ ],
227
+ "title": "Mergeable"
228
+ },
229
+ "merge_state_status": {
230
+ "anyOf": [
231
+ {
232
+ "type": "string"
233
+ },
234
+ {
235
+ "type": "null"
236
+ }
237
+ ],
238
+ "title": "Merge State Status"
239
+ },
240
+ "review_decision": {
241
+ "anyOf": [
242
+ {
243
+ "type": "string"
244
+ },
245
+ {
246
+ "type": "null"
247
+ }
248
+ ],
249
+ "title": "Review Decision"
250
+ },
251
+ "required_checks_failed": {
252
+ "items": {
253
+ "type": "string"
254
+ },
255
+ "title": "Required Checks Failed",
256
+ "type": "array"
257
+ },
258
+ "required_checks_pending": {
259
+ "items": {
260
+ "type": "string"
261
+ },
262
+ "title": "Required Checks Pending",
263
+ "type": "array"
264
+ },
265
+ "optional_checks_failed": {
266
+ "items": {
267
+ "type": "string"
268
+ },
269
+ "title": "Optional Checks Failed",
270
+ "type": "array"
271
+ },
272
+ "unresolved_thread_count": {
273
+ "anyOf": [
274
+ {
275
+ "type": "integer"
276
+ },
277
+ {
278
+ "type": "null"
279
+ }
280
+ ],
281
+ "title": "Unresolved Thread Count"
282
+ },
283
+ "landed": {
284
+ "default": false,
285
+ "title": "Landed",
286
+ "type": "boolean"
287
+ }
288
+ },
289
+ "required": [
290
+ "node_id",
291
+ "plan_id",
292
+ "pr_number",
293
+ "branch",
294
+ "expected_base_ref",
295
+ "expected_head_sha",
296
+ "base_sha",
297
+ "assessed",
298
+ "observed_state",
299
+ "observed_is_draft",
300
+ "observed_base_ref",
301
+ "observed_head_ref",
302
+ "observed_head_sha",
303
+ "mergeable",
304
+ "merge_state_status",
305
+ "review_decision",
306
+ "required_checks_failed",
307
+ "required_checks_pending",
308
+ "optional_checks_failed",
309
+ "unresolved_thread_count"
310
+ ],
311
+ "title": "LandLayerOut",
312
+ "type": "object"
313
+ },
314
+ "LandPlanLayerOut": {
315
+ "additionalProperties": false,
316
+ "properties": {
317
+ "node_id": {
318
+ "title": "Node Id",
319
+ "type": "string"
320
+ },
321
+ "plan_id": {
322
+ "title": "Plan Id",
323
+ "type": "string"
324
+ },
325
+ "pr_number": {
326
+ "title": "Pr Number",
327
+ "type": "integer"
328
+ },
329
+ "base_sha": {
330
+ "title": "Base Sha",
331
+ "type": "string"
332
+ },
333
+ "head_sha": {
334
+ "title": "Head Sha",
335
+ "type": "string"
336
+ }
337
+ },
338
+ "required": [
339
+ "node_id",
340
+ "plan_id",
341
+ "pr_number",
342
+ "base_sha",
343
+ "head_sha"
344
+ ],
345
+ "title": "LandPlanLayerOut",
346
+ "type": "object"
347
+ },
348
+ "LandPlanOut": {
349
+ "additionalProperties": false,
350
+ "properties": {
351
+ "mode": {
352
+ "title": "Mode",
353
+ "type": "string"
354
+ },
355
+ "merge_method": {
356
+ "title": "Merge Method",
357
+ "type": "string"
358
+ },
359
+ "top_pr_number": {
360
+ "title": "Top Pr Number",
361
+ "type": "integer"
362
+ },
363
+ "top_head_sha": {
364
+ "title": "Top Head Sha",
365
+ "type": "string"
366
+ },
367
+ "layers": {
368
+ "items": {
369
+ "$ref": "#/$defs/LandPlanLayerOut"
370
+ },
371
+ "title": "Layers",
372
+ "type": "array"
373
+ }
374
+ },
375
+ "required": [
376
+ "mode",
377
+ "merge_method",
378
+ "top_pr_number",
379
+ "top_head_sha",
380
+ "layers"
381
+ ],
382
+ "title": "LandPlanOut",
383
+ "type": "object"
384
+ },
385
+ "LandedLayerOut": {
386
+ "additionalProperties": false,
387
+ "description": "One verified-merged layer's envelope row (\u00a78.56). The finalize facts flatten here \u2014\n``finalized: false`` means the per-layer finalize failed (its failure text rides\n``notes``) and the finalize-derived fields carry their honest defaults.",
388
+ "properties": {
389
+ "node_id": {
390
+ "title": "Node Id",
391
+ "type": "string"
392
+ },
393
+ "plan_id": {
394
+ "title": "Plan Id",
395
+ "type": "string"
396
+ },
397
+ "pr_number": {
398
+ "title": "Pr Number",
399
+ "type": "integer"
400
+ },
401
+ "merge_commit_sha": {
402
+ "title": "Merge Commit Sha",
403
+ "type": "string"
404
+ },
405
+ "learn_state": {
406
+ "anyOf": [
407
+ {
408
+ "type": "string"
409
+ },
410
+ {
411
+ "type": "null"
412
+ }
413
+ ],
414
+ "title": "Learn State"
415
+ },
416
+ "plan_issue_closed": {
417
+ "title": "Plan Issue Closed",
418
+ "type": "boolean"
419
+ },
420
+ "nodes_marked": {
421
+ "items": {
422
+ "type": "string"
423
+ },
424
+ "title": "Nodes Marked",
425
+ "type": "array"
426
+ },
427
+ "finalized": {
428
+ "title": "Finalized",
429
+ "type": "boolean"
430
+ },
431
+ "base_sha": {
432
+ "default": "",
433
+ "title": "Base Sha",
434
+ "type": "string"
435
+ },
436
+ "head_sha": {
437
+ "default": "",
438
+ "title": "Head Sha",
439
+ "type": "string"
440
+ }
441
+ },
442
+ "required": [
443
+ "node_id",
444
+ "plan_id",
445
+ "pr_number",
446
+ "merge_commit_sha",
447
+ "learn_state",
448
+ "plan_issue_closed",
449
+ "nodes_marked",
450
+ "finalized"
451
+ ],
452
+ "title": "LandedLayerOut",
453
+ "type": "object"
454
+ },
455
+ "ObjectiveOut": {
456
+ "additionalProperties": false,
457
+ "description": "The resolved (ACTIVE) objective identity; ``redirected_from`` names the originally\nrequested objective when a ``superseded_by`` chain redirected forward.",
458
+ "properties": {
459
+ "id": {
460
+ "title": "Id",
461
+ "type": "string"
462
+ },
463
+ "url": {
464
+ "title": "Url",
465
+ "type": "string"
466
+ },
467
+ "redirected_from": {
468
+ "anyOf": [
469
+ {
470
+ "type": "string"
471
+ },
472
+ {
473
+ "type": "null"
474
+ }
475
+ ],
476
+ "title": "Redirected From"
477
+ }
478
+ },
479
+ "required": [
480
+ "id",
481
+ "url",
482
+ "redirected_from"
483
+ ],
484
+ "title": "ObjectiveOut",
485
+ "type": "object"
486
+ },
487
+ "ReconcileEvidenceOut": {
488
+ "additionalProperties": false,
489
+ "description": "The ordered reconcile evidence riding a close transition (contracts.md \u00a78.56):\nassembled fresh from ALL completed LAND records in fold order \u2014 diff identities only,\nnever patches. ``partial: true`` marks an undecodable record (its note rides\n``notes``).",
490
+ "properties": {
491
+ "layers": {
492
+ "items": {
493
+ "$ref": "#/$defs/EvidenceLayerOut"
494
+ },
495
+ "title": "Layers",
496
+ "type": "array"
497
+ },
498
+ "final_base_sha": {
499
+ "anyOf": [
500
+ {
501
+ "type": "string"
502
+ },
503
+ {
504
+ "type": "null"
505
+ }
506
+ ],
507
+ "title": "Final Base Sha"
508
+ },
509
+ "partial": {
510
+ "title": "Partial",
511
+ "type": "boolean"
512
+ },
513
+ "notes": {
514
+ "items": {
515
+ "type": "string"
516
+ },
517
+ "title": "Notes",
518
+ "type": "array"
519
+ }
520
+ },
521
+ "required": [
522
+ "layers",
523
+ "final_base_sha",
524
+ "partial",
525
+ "notes"
526
+ ],
527
+ "title": "ReconcileEvidenceOut",
528
+ "type": "object"
529
+ },
530
+ "RulesOut": {
531
+ "additionalProperties": false,
532
+ "properties": {
533
+ "squash_allowed": {
534
+ "title": "Squash Allowed",
535
+ "type": "boolean"
536
+ },
537
+ "merge_queue_required": {
538
+ "title": "Merge Queue Required",
539
+ "type": "boolean"
540
+ }
541
+ },
542
+ "required": [
543
+ "squash_allowed",
544
+ "merge_queue_required"
545
+ ],
546
+ "title": "RulesOut",
547
+ "type": "object"
548
+ }
549
+ },
550
+ "additionalProperties": false,
551
+ "description": "The ``perk objective stack land --json`` envelope (contracts.md \u00a78.55/\u00a78.56).\n\nThe mutation fields are declared LAST so the \u00a78.55 dry-run envelope's field\nprefix/order is preserved (they serialize as trailing nulls/empties there).",
552
+ "properties": {
553
+ "success": {
554
+ "title": "Success",
555
+ "type": "boolean"
556
+ },
557
+ "error_type": {
558
+ "anyOf": [
559
+ {
560
+ "type": "string"
561
+ },
562
+ {
563
+ "type": "null"
564
+ }
565
+ ],
566
+ "title": "Error Type"
567
+ },
568
+ "objective": {
569
+ "$ref": "#/$defs/ObjectiveOut"
570
+ },
571
+ "dry_run": {
572
+ "title": "Dry Run",
573
+ "type": "boolean"
574
+ },
575
+ "disposition": {
576
+ "title": "Disposition",
577
+ "type": "string"
578
+ },
579
+ "base": {
580
+ "title": "Base",
581
+ "type": "string"
582
+ },
583
+ "delivery_lineage": {
584
+ "anyOf": [
585
+ {
586
+ "type": "string"
587
+ },
588
+ {
589
+ "type": "null"
590
+ }
591
+ ],
592
+ "title": "Delivery Lineage"
593
+ },
594
+ "rules": {
595
+ "anyOf": [
596
+ {
597
+ "$ref": "#/$defs/RulesOut"
598
+ },
599
+ {
600
+ "type": "null"
601
+ }
602
+ ]
603
+ },
604
+ "native_stack_capability": {
605
+ "anyOf": [
606
+ {
607
+ "type": "boolean"
608
+ },
609
+ {
610
+ "type": "null"
611
+ }
612
+ ],
613
+ "title": "Native Stack Capability"
614
+ },
615
+ "layers": {
616
+ "items": {
617
+ "$ref": "#/$defs/LandLayerOut"
618
+ },
619
+ "title": "Layers",
620
+ "type": "array"
621
+ },
622
+ "blockers": {
623
+ "items": {
624
+ "$ref": "#/$defs/FindingOut"
625
+ },
626
+ "title": "Blockers",
627
+ "type": "array"
628
+ },
629
+ "information": {
630
+ "items": {
631
+ "$ref": "#/$defs/FindingOut"
632
+ },
633
+ "title": "Information",
634
+ "type": "array"
635
+ },
636
+ "plan": {
637
+ "anyOf": [
638
+ {
639
+ "$ref": "#/$defs/LandPlanOut"
640
+ },
641
+ {
642
+ "type": "null"
643
+ }
644
+ ]
645
+ },
646
+ "outcome": {
647
+ "anyOf": [
648
+ {
649
+ "type": "string"
650
+ },
651
+ {
652
+ "type": "null"
653
+ }
654
+ ],
655
+ "default": null,
656
+ "title": "Outcome"
657
+ },
658
+ "operation_id": {
659
+ "anyOf": [
660
+ {
661
+ "type": "string"
662
+ },
663
+ {
664
+ "type": "null"
665
+ }
666
+ ],
667
+ "default": null,
668
+ "title": "Operation Id"
669
+ },
670
+ "merge_async_uuid": {
671
+ "anyOf": [
672
+ {
673
+ "type": "string"
674
+ },
675
+ {
676
+ "type": "null"
677
+ }
678
+ ],
679
+ "default": null,
680
+ "title": "Merge Async Uuid"
681
+ },
682
+ "landed_layers": {
683
+ "default": [],
684
+ "items": {
685
+ "$ref": "#/$defs/LandedLayerOut"
686
+ },
687
+ "title": "Landed Layers",
688
+ "type": "array"
689
+ },
690
+ "objective_closed": {
691
+ "default": false,
692
+ "title": "Objective Closed",
693
+ "type": "boolean"
694
+ },
695
+ "notes": {
696
+ "default": [],
697
+ "items": {
698
+ "type": "string"
699
+ },
700
+ "title": "Notes",
701
+ "type": "array"
702
+ },
703
+ "reconcile_evidence": {
704
+ "anyOf": [
705
+ {
706
+ "$ref": "#/$defs/ReconcileEvidenceOut"
707
+ },
708
+ {
709
+ "type": "null"
710
+ }
711
+ ],
712
+ "default": null
713
+ }
714
+ },
715
+ "required": [
716
+ "success",
717
+ "error_type",
718
+ "objective",
719
+ "dry_run",
720
+ "disposition",
721
+ "base",
722
+ "delivery_lineage",
723
+ "rules",
724
+ "native_stack_capability",
725
+ "layers",
726
+ "blockers",
727
+ "information",
728
+ "plan"
729
+ ],
730
+ "title": "ObjectiveStackLandOut",
731
+ "type": "object"
732
+ }