@mgiles/perk 2.3.0 → 3.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 (145) hide show
  1. package/README.md +1 -1
  2. package/extension/adapters/planAdapterPlannotator.ts +135 -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/commitCompact.ts +98 -10
  9. package/extension/doors/draftReviewWaveTools.ts +412 -0
  10. package/extension/doors/dreamWaveTools.ts +475 -0
  11. package/extension/doors/harvestWaveTools.ts +279 -0
  12. package/extension/doors/land.ts +1 -0
  13. package/extension/doors/learn.ts +24 -6
  14. package/extension/doors/learnFactory.ts +33 -7
  15. package/extension/doors/lifecycleGates.ts +1 -1
  16. package/extension/doors/objectiveReviewBrowser.ts +537 -0
  17. package/extension/doors/objectiveStack.ts +1143 -0
  18. package/extension/doors/planReviewBrowser.ts +475 -0
  19. package/extension/doors/plannotatorHandoff.ts +120 -49
  20. package/extension/doors/prReview.ts +180 -63
  21. package/extension/doors/prReviewBrowser.ts +31 -23
  22. package/extension/doors/prReviewDynamic.ts +57 -30
  23. package/extension/doors/prReviewTerminal.ts +6 -11
  24. package/extension/doors/reviewWaveTools.ts +397 -0
  25. package/extension/doors/selfcheck.ts +1 -1
  26. package/extension/doors/submit.ts +82 -7
  27. package/extension/factories/gistAuthor.ts +4 -4
  28. package/extension/factories/gistDraft.ts +1 -1
  29. package/extension/factories/gistSave.ts +2 -2
  30. package/extension/factories/objective.ts +7 -7
  31. package/extension/factories/objectiveAuthor.ts +5 -4
  32. package/extension/factories/objectiveDraft.ts +153 -30
  33. package/extension/factories/objectiveDreamReport.ts +347 -0
  34. package/extension/factories/objectivePlan.ts +163 -9
  35. package/extension/factories/objectiveSave.ts +90 -2
  36. package/extension/factories/planMode.ts +5 -3
  37. package/extension/factories/planReview.ts +304 -46
  38. package/extension/factories/planTitle.ts +27 -9
  39. package/extension/hunkFeedback/inbox.ts +389 -0
  40. package/extension/hunkFeedback/perkFeedback.ts +364 -0
  41. package/extension/hunkFeedback/receiver.ts +296 -0
  42. package/extension/hunkFeedback/store.ts +533 -0
  43. package/extension/index.ts +169 -57
  44. package/extension/substrate/agentScratch.ts +171 -0
  45. package/extension/substrate/bindingDelivery.ts +9 -11
  46. package/extension/substrate/cache.ts +166 -23
  47. package/extension/substrate/coldDoor.ts +2 -3
  48. package/extension/substrate/command.ts +9 -6
  49. package/extension/substrate/config.ts +41 -12
  50. package/extension/substrate/git.ts +95 -2
  51. package/extension/substrate/providers.ts +4 -33
  52. package/extension/substrate/resources.ts +11 -0
  53. package/extension/substrate/result.ts +16 -7
  54. package/extension/substrate/sessionData.ts +8 -6
  55. package/extension/substrate/sessionPointers.ts +4 -5
  56. package/extension/substrate/structuredOutput.ts +78 -19
  57. package/extension/substrate/toolGating.ts +179 -23
  58. package/extension/substrate/workflowState.ts +50 -2
  59. package/extension/surfaces/footerProvider.ts +6 -6
  60. package/extension/surfaces/report.ts +38 -12
  61. package/extension/surfaces/surfaces.ts +213 -275
  62. package/extension/vendor/btw/btw.ts +94 -17
  63. package/extension/waves/adversarialReviewWave.ts +181 -0
  64. package/extension/waves/auditWave.ts +312 -0
  65. package/extension/waves/draftReviewWave.ts +205 -0
  66. package/extension/waves/dreamReducerWave.ts +700 -0
  67. package/extension/waves/dreamReport.ts +1494 -0
  68. package/extension/waves/dreamWave.ts +927 -0
  69. package/extension/waves/harvestWave.ts +399 -0
  70. package/extension/waves/memoryAdapter.ts +14 -1
  71. package/extension/waves/objectiveExplorerWave.ts +120 -0
  72. package/extension/waves/ponytail.ts +104 -0
  73. package/extension/waves/prReviewDynamicWave.ts +383 -72
  74. package/extension/waves/prReviewWave.ts +175 -25
  75. package/extension/waves/reportWave.ts +503 -107
  76. package/extension/waves/reviewClassifierWave.ts +109 -0
  77. package/extension/waves/rpcAdapter.ts +65 -2
  78. package/extension/worker/readOnlySession.ts +4 -5
  79. package/extension/worker/worker.ts +71 -93
  80. package/extension/workerMain.ts +4 -6
  81. package/package.json +18 -5
  82. package/prompts/README.md +19 -0
  83. package/prompts/_fixtures/live.yaml +115 -65
  84. package/prompts/commit-and-compact-continuation.md +13 -0
  85. package/prompts/common/resume-advisory.md +1 -0
  86. package/prompts/contexts/adapters/plannotator-gist.md +13 -0
  87. package/prompts/contexts/adapters/plannotator-objective.md +8 -3
  88. package/prompts/contexts/adapters/plannotator-plan.md +8 -3
  89. package/prompts/contexts/gist-authoring.md +6 -20
  90. package/prompts/contexts/objective-authoring.md +6 -18
  91. package/prompts/stages/address/action.md +3 -14
  92. package/prompts/stages/address/preview.md +2 -13
  93. package/prompts/stages/audit.md +18 -0
  94. package/prompts/stages/conflict-resolution.md +1 -1
  95. package/prompts/stages/gist-author/seed.md +4 -4
  96. package/prompts/stages/gist-save.md +1 -1
  97. package/prompts/stages/implement.md +3 -1
  98. package/prompts/stages/learn-code.md +1 -1
  99. package/prompts/stages/learn-docs.md +2 -2
  100. package/prompts/stages/learn-dream.md +10 -0
  101. package/prompts/stages/learn-harvest.md +15 -0
  102. package/prompts/stages/learn-orchestrate.md +1 -1
  103. package/prompts/stages/objective-author/adopt.md +5 -3
  104. package/prompts/stages/objective-author/file.md +5 -4
  105. package/prompts/stages/objective-author/seed.md +5 -4
  106. package/prompts/stages/objective-land.md +7 -0
  107. package/prompts/stages/objective-plan/guidance.md +2 -13
  108. package/prompts/stages/objective-plan/seed.md +5 -12
  109. package/prompts/stages/objective-recover.md +8 -0
  110. package/prompts/stages/objective-replan.md +4 -2
  111. package/prompts/stages/objective-review-browser.md +9 -0
  112. package/prompts/stages/objective-sync.md +6 -0
  113. package/prompts/stages/plan-from/adopt.md +2 -2
  114. package/prompts/stages/plan-from/file.md +2 -2
  115. package/prompts/stages/plan-review-browser.md +9 -0
  116. package/prompts/stages/pr-review-browser/active.md +6 -14
  117. package/prompts/stages/pr-review-browser/foreign.md +6 -14
  118. package/prompts/stages/pr-review-dynamic.md +6 -6
  119. package/prompts/stages/pr-review-terminal/active.md +7 -15
  120. package/prompts/stages/pr-review-terminal/foreign.md +7 -15
  121. package/prompts/stages/pr-review-terminal/local.md +1 -1
  122. package/prompts/stages/pr-review.md +5 -5
  123. package/prompts/stages/replan.md +3 -3
  124. package/shared/README.md +2 -2
  125. package/shared/bindings.yaml +15 -0
  126. package/shared/contracts-history.md +11 -0
  127. package/shared/contracts.md +5373 -281
  128. package/shared/providers.yaml +27 -60
  129. package/shared/registry.yaml +42 -18
  130. package/shared/schemas/inputs/review-post-batch.schema.json +14 -1
  131. package/shared/schemas/outputs/objective-doctor.schema.json +487 -0
  132. package/shared/schemas/outputs/objective-stack-land.schema.json +732 -0
  133. package/shared/schemas/outputs/objective-stack-recover.schema.json +397 -0
  134. package/shared/schemas/outputs/objective-stack-status.schema.json +577 -0
  135. package/shared/schemas/outputs/objective-stack-sync.schema.json +184 -0
  136. package/shared/schemas/outputs/plan-save.schema.json +12 -0
  137. package/shared/schemas/outputs/pr-land.schema.json +3 -3
  138. package/shared/schemas/outputs/pr-submit.schema.json +177 -1
  139. package/extension/adapters/todoAdapterJuicesharp.ts +0 -102
  140. package/extension/checkpoints/checkpoints.ts +0 -550
  141. package/extension/checkpoints/planSteps.ts +0 -108
  142. package/extension/doors/askUser.ts +0 -198
  143. package/prompts/common/output-schemas/objective-explorer.md +0 -36
  144. package/prompts/common/output-schemas/review-classifier.md +0 -47
  145. package/prompts/contexts/adapters/juicesharp-todo.md +0 -7
@@ -0,0 +1,397 @@
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
+ "MergedPrefixOut": {
43
+ "additionalProperties": false,
44
+ "description": "One externally merged prefix layer (the ``external_prefix`` structured preview).",
45
+ "properties": {
46
+ "node_id": {
47
+ "title": "Node Id",
48
+ "type": "string"
49
+ },
50
+ "pr_number": {
51
+ "title": "Pr Number",
52
+ "type": "integer"
53
+ },
54
+ "merge_commit_sha": {
55
+ "title": "Merge Commit Sha",
56
+ "type": "string"
57
+ }
58
+ },
59
+ "required": [
60
+ "node_id",
61
+ "pr_number",
62
+ "merge_commit_sha"
63
+ ],
64
+ "title": "MergedPrefixOut",
65
+ "type": "object"
66
+ },
67
+ "ObjectiveOut": {
68
+ "additionalProperties": false,
69
+ "description": "The resolved (ACTIVE) objective identity; ``redirected_from`` names the originally\nrequested objective when a ``superseded_by`` chain redirected forward.",
70
+ "properties": {
71
+ "id": {
72
+ "title": "Id",
73
+ "type": "string"
74
+ },
75
+ "url": {
76
+ "title": "Url",
77
+ "type": "string"
78
+ },
79
+ "redirected_from": {
80
+ "anyOf": [
81
+ {
82
+ "type": "string"
83
+ },
84
+ {
85
+ "type": "null"
86
+ }
87
+ ],
88
+ "title": "Redirected From"
89
+ }
90
+ },
91
+ "required": [
92
+ "id",
93
+ "url",
94
+ "redirected_from"
95
+ ],
96
+ "title": "ObjectiveOut",
97
+ "type": "object"
98
+ },
99
+ "ReconcileEvidenceOut": {
100
+ "additionalProperties": false,
101
+ "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``).",
102
+ "properties": {
103
+ "layers": {
104
+ "items": {
105
+ "$ref": "#/$defs/EvidenceLayerOut"
106
+ },
107
+ "title": "Layers",
108
+ "type": "array"
109
+ },
110
+ "final_base_sha": {
111
+ "anyOf": [
112
+ {
113
+ "type": "string"
114
+ },
115
+ {
116
+ "type": "null"
117
+ }
118
+ ],
119
+ "title": "Final Base Sha"
120
+ },
121
+ "partial": {
122
+ "title": "Partial",
123
+ "type": "boolean"
124
+ },
125
+ "notes": {
126
+ "items": {
127
+ "type": "string"
128
+ },
129
+ "title": "Notes",
130
+ "type": "array"
131
+ }
132
+ },
133
+ "required": [
134
+ "layers",
135
+ "final_base_sha",
136
+ "partial",
137
+ "notes"
138
+ ],
139
+ "title": "ReconcileEvidenceOut",
140
+ "type": "object"
141
+ },
142
+ "RecoverLandedLayerOut": {
143
+ "additionalProperties": false,
144
+ "description": "One landed layer this invocation acted on (a LAND conclusion's finalize or the\nconvergence pass). ``finalized: null`` is a dry-run would-act row (not attempted).",
145
+ "properties": {
146
+ "node_id": {
147
+ "title": "Node Id",
148
+ "type": "string"
149
+ },
150
+ "plan_id": {
151
+ "title": "Plan Id",
152
+ "type": "string"
153
+ },
154
+ "pr_number": {
155
+ "title": "Pr Number",
156
+ "type": "integer"
157
+ },
158
+ "merge_commit_sha": {
159
+ "title": "Merge Commit Sha",
160
+ "type": "string"
161
+ },
162
+ "base_sha": {
163
+ "title": "Base Sha",
164
+ "type": "string"
165
+ },
166
+ "head_sha": {
167
+ "title": "Head Sha",
168
+ "type": "string"
169
+ },
170
+ "finalized": {
171
+ "anyOf": [
172
+ {
173
+ "type": "boolean"
174
+ },
175
+ {
176
+ "type": "null"
177
+ }
178
+ ],
179
+ "title": "Finalized"
180
+ }
181
+ },
182
+ "required": [
183
+ "node_id",
184
+ "plan_id",
185
+ "pr_number",
186
+ "merge_commit_sha",
187
+ "base_sha",
188
+ "head_sha",
189
+ "finalized"
190
+ ],
191
+ "title": "RecoverLandedLayerOut",
192
+ "type": "object"
193
+ },
194
+ "RecoverOperationOut": {
195
+ "additionalProperties": false,
196
+ "properties": {
197
+ "operation_id": {
198
+ "title": "Operation Id",
199
+ "type": "string"
200
+ },
201
+ "kind": {
202
+ "title": "Kind",
203
+ "type": "string"
204
+ },
205
+ "prepared_created": {
206
+ "title": "Prepared Created",
207
+ "type": "string"
208
+ },
209
+ "classification": {
210
+ "title": "Classification",
211
+ "type": "string"
212
+ },
213
+ "action": {
214
+ "title": "Action",
215
+ "type": "string"
216
+ },
217
+ "detail": {
218
+ "title": "Detail",
219
+ "type": "string"
220
+ },
221
+ "merged_layers": {
222
+ "default": [],
223
+ "items": {
224
+ "$ref": "#/$defs/MergedPrefixOut"
225
+ },
226
+ "title": "Merged Layers",
227
+ "type": "array"
228
+ },
229
+ "remainder": {
230
+ "default": [],
231
+ "items": {
232
+ "$ref": "#/$defs/RemainderPrOut"
233
+ },
234
+ "title": "Remainder",
235
+ "type": "array"
236
+ }
237
+ },
238
+ "required": [
239
+ "operation_id",
240
+ "kind",
241
+ "prepared_created",
242
+ "classification",
243
+ "action",
244
+ "detail"
245
+ ],
246
+ "title": "RecoverOperationOut",
247
+ "type": "object"
248
+ },
249
+ "RemainderPrOut": {
250
+ "additionalProperties": false,
251
+ "description": "One remainder PR observed OPEN at its recorded head (the acceptance proof).",
252
+ "properties": {
253
+ "pr_number": {
254
+ "title": "Pr Number",
255
+ "type": "integer"
256
+ },
257
+ "state": {
258
+ "title": "State",
259
+ "type": "string"
260
+ },
261
+ "head_sha": {
262
+ "title": "Head Sha",
263
+ "type": "string"
264
+ }
265
+ },
266
+ "required": [
267
+ "pr_number",
268
+ "state",
269
+ "head_sha"
270
+ ],
271
+ "title": "RemainderPrOut",
272
+ "type": "object"
273
+ },
274
+ "SweepFailureOut": {
275
+ "additionalProperties": false,
276
+ "properties": {
277
+ "target": {
278
+ "title": "Target",
279
+ "type": "string"
280
+ },
281
+ "error": {
282
+ "title": "Error",
283
+ "type": "string"
284
+ }
285
+ },
286
+ "required": [
287
+ "target",
288
+ "error"
289
+ ],
290
+ "title": "SweepFailureOut",
291
+ "type": "object"
292
+ }
293
+ },
294
+ "additionalProperties": false,
295
+ "description": "The ``perk objective stack recover --json`` envelope (contracts.md \u00a78.51). Under\n``dry_run`` the swept lists carry the WOULD-BE sweep targets (nothing was deleted).",
296
+ "properties": {
297
+ "success": {
298
+ "title": "Success",
299
+ "type": "boolean"
300
+ },
301
+ "objective": {
302
+ "$ref": "#/$defs/ObjectiveOut"
303
+ },
304
+ "dry_run": {
305
+ "title": "Dry Run",
306
+ "type": "boolean"
307
+ },
308
+ "selection_required": {
309
+ "title": "Selection Required",
310
+ "type": "boolean"
311
+ },
312
+ "operations": {
313
+ "items": {
314
+ "$ref": "#/$defs/RecoverOperationOut"
315
+ },
316
+ "title": "Operations",
317
+ "type": "array"
318
+ },
319
+ "swept_worktrees": {
320
+ "items": {
321
+ "type": "string"
322
+ },
323
+ "title": "Swept Worktrees",
324
+ "type": "array"
325
+ },
326
+ "swept_refs": {
327
+ "items": {
328
+ "type": "string"
329
+ },
330
+ "title": "Swept Refs",
331
+ "type": "array"
332
+ },
333
+ "sweep_failures": {
334
+ "items": {
335
+ "$ref": "#/$defs/SweepFailureOut"
336
+ },
337
+ "title": "Sweep Failures",
338
+ "type": "array"
339
+ },
340
+ "sweep_skipped": {
341
+ "anyOf": [
342
+ {
343
+ "type": "string"
344
+ },
345
+ {
346
+ "type": "null"
347
+ }
348
+ ],
349
+ "title": "Sweep Skipped"
350
+ },
351
+ "landed_layers": {
352
+ "default": [],
353
+ "items": {
354
+ "$ref": "#/$defs/RecoverLandedLayerOut"
355
+ },
356
+ "title": "Landed Layers",
357
+ "type": "array"
358
+ },
359
+ "objective_closed": {
360
+ "default": false,
361
+ "title": "Objective Closed",
362
+ "type": "boolean"
363
+ },
364
+ "reconcile_evidence": {
365
+ "anyOf": [
366
+ {
367
+ "$ref": "#/$defs/ReconcileEvidenceOut"
368
+ },
369
+ {
370
+ "type": "null"
371
+ }
372
+ ],
373
+ "default": null
374
+ },
375
+ "notes": {
376
+ "default": [],
377
+ "items": {
378
+ "type": "string"
379
+ },
380
+ "title": "Notes",
381
+ "type": "array"
382
+ }
383
+ },
384
+ "required": [
385
+ "success",
386
+ "objective",
387
+ "dry_run",
388
+ "selection_required",
389
+ "operations",
390
+ "swept_worktrees",
391
+ "swept_refs",
392
+ "sweep_failures",
393
+ "sweep_skipped"
394
+ ],
395
+ "title": "ObjectiveStackRecoverOut",
396
+ "type": "object"
397
+ }