@lmctl-ai/lmctl 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 (29) hide show
  1. package/LICENSE +36 -0
  2. package/README.md +36 -0
  3. package/bin/lmctl +4 -0
  4. package/dist/cli/index.js +2180 -0
  5. package/dist/cli/schema.sql +660 -0
  6. package/dist/cli/side_effect_classifier.json +19 -0
  7. package/dist/config/ai_test_templates/example-test.md.template +50 -0
  8. package/dist/config/ai_test_templates/index.md.template +27 -0
  9. package/dist/config/durable_memory_templates/index.md.template +29 -0
  10. package/dist/config/durable_memory_templates/skills_general.md.template +42 -0
  11. package/dist/config/durable_memory_templates/skills_lmdebug.md.template +31 -0
  12. package/dist/config/durable_memory_templates/skills_lmprobe.md.template +31 -0
  13. package/package.json +42 -0
  14. package/workflows/bugfix-extended-v2.compound.json +1018 -0
  15. package/workflows/bugfix-v2.compound.json +856 -0
  16. package/workflows/claim-check-spike-v2.compound.json +136 -0
  17. package/workflows/document-creation.compound.json +200 -0
  18. package/workflows/durable-memory-consolidation-v2.compound.json +185 -0
  19. package/workflows/example-v2.compound.json +200 -0
  20. package/workflows/image-qa.compound.json +128 -0
  21. package/workflows/index.jsonl +15 -0
  22. package/workflows/info-qa.compound.json +120 -0
  23. package/workflows/newspaper.compound.json +129 -0
  24. package/workflows/pr-fix.compound.json +183 -0
  25. package/workflows/pr-followup-v2.compound.json +969 -0
  26. package/workflows/provider-probe.compound.json +107 -0
  27. package/workflows/qa-suite.compound.json +186 -0
  28. package/workflows/spec-driven-task.compound.json +460 -0
  29. package/workflows/triage-v2.compound.json +721 -0
@@ -0,0 +1,1018 @@
1
+ {
2
+ "schema_version": "lmctl/v3",
3
+ "definition_schema_version": 3,
4
+ "name": "bugfix-extended-v2",
5
+ "version": 1,
6
+ "description": "Investigates a bug report, develops a fix through coder and reviewer turns, verifies the result, and reports the final status.",
7
+ "estimated_duration_ms": 600000,
8
+ "default_task_timeout_ms": 1800000,
9
+ "steps": [
10
+ {
11
+ "id": "s-stage1-filter-score-96d7",
12
+ "name": "stage1_filter_score",
13
+ "type": "lmctl/loop",
14
+ "typeVersion": 1,
15
+ "parameters": {
16
+ "over": "job.payload.candidate_urls",
17
+ "item_var": "current_url",
18
+ "body": "stage1_score_item",
19
+ "stop_on_error": true,
20
+ "max_items": 1000
21
+ }
22
+ },
23
+ {
24
+ "id": "s-stage1-score-item-6ceb",
25
+ "name": "stage1_score_item",
26
+ "type": "lmctl/review",
27
+ "typeVersion": 1,
28
+ "parameters": {
29
+ "max_loops": 5
30
+ },
31
+ "members": {
32
+ "coder": {
33
+ "team": "default",
34
+ "alias": "Coder"
35
+ }
36
+ }
37
+ },
38
+ {
39
+ "id": "s-claim-check-e442",
40
+ "name": "claim_check",
41
+ "type": "lmctl/review",
42
+ "typeVersion": 1,
43
+ "parameters": {
44
+ "max_loops": 5
45
+ },
46
+ "members": {
47
+ "coder": {
48
+ "team": "default",
49
+ "alias": "Coder"
50
+ }
51
+ }
52
+ },
53
+ {
54
+ "id": "s-dedup-check-5c02",
55
+ "name": "dedup_check",
56
+ "type": "lmctl/shell-step",
57
+ "typeVersion": 1,
58
+ "parameters": {
59
+ "command": "lmdedup --repo {{project.owner}}/{{project.repo}} --issue-url {{job_payload.issue_url}} --json",
60
+ "outcomes_from_exit": {
61
+ "0": "@terminal:exit_0",
62
+ "default": "@terminal:exit_default"
63
+ }
64
+ }
65
+ },
66
+ {
67
+ "id": "s-feasibility-1f3e",
68
+ "name": "feasibility",
69
+ "type": "lmctl/review",
70
+ "typeVersion": 1,
71
+ "parameters": {
72
+ "max_loops": 5
73
+ },
74
+ "members": {
75
+ "coder": {
76
+ "team": "default",
77
+ "alias": "Coder"
78
+ }
79
+ }
80
+ },
81
+ {
82
+ "id": "s-reproduce-21c8",
83
+ "name": "reproduce",
84
+ "type": "lmctl/review",
85
+ "typeVersion": 1,
86
+ "parameters": {
87
+ "writes_to_project_path": true,
88
+ "max_loops": 2
89
+ },
90
+ "members": {
91
+ "coder": {
92
+ "team": "default",
93
+ "alias": "Coder"
94
+ },
95
+ "reviewers": [
96
+ {
97
+ "team": "default",
98
+ "alias": "Reviewer1"
99
+ }
100
+ ]
101
+ }
102
+ },
103
+ {
104
+ "id": "s-root-cause-585a",
105
+ "name": "root_cause",
106
+ "type": "lmctl/review",
107
+ "typeVersion": 1,
108
+ "parameters": {
109
+ "max_loops": 5
110
+ },
111
+ "members": {
112
+ "coder": {
113
+ "team": "default",
114
+ "alias": "Coder"
115
+ }
116
+ }
117
+ },
118
+ {
119
+ "id": "s-fix-952d",
120
+ "name": "fix",
121
+ "type": "lmctl/review",
122
+ "typeVersion": 1,
123
+ "parameters": {
124
+ "writes_to_project_path": true,
125
+ "max_loops": 5
126
+ },
127
+ "members": {
128
+ "coder": {
129
+ "team": "default",
130
+ "alias": "Coder"
131
+ }
132
+ }
133
+ },
134
+ {
135
+ "id": "s-focused-test-f5d4",
136
+ "name": "focused_test",
137
+ "type": "lmctl/shell-step",
138
+ "typeVersion": 1,
139
+ "parameters": {
140
+ "command": "{{project.test_command}}",
141
+ "outcomes_from_exit": {
142
+ "0": "@terminal:exit_0",
143
+ "default": "@terminal:exit_default"
144
+ }
145
+ }
146
+ },
147
+ {
148
+ "id": "s-code-review-4ee7",
149
+ "name": "code_review",
150
+ "type": "lmctl/review",
151
+ "typeVersion": 1,
152
+ "parameters": {
153
+ "writes_to_project_path": true,
154
+ "max_loops": 3
155
+ },
156
+ "members": {
157
+ "coder": {
158
+ "team": "default",
159
+ "alias": "Coder"
160
+ },
161
+ "reviewers": [
162
+ {
163
+ "team": "default",
164
+ "alias": "Reviewer1"
165
+ }
166
+ ]
167
+ }
168
+ },
169
+ {
170
+ "id": "s-internal-pr-artifact-ac9f",
171
+ "name": "internal_pr_artifact",
172
+ "type": "lmctl/review",
173
+ "typeVersion": 1,
174
+ "parameters": {
175
+ "max_loops": 5
176
+ },
177
+ "members": {
178
+ "coder": {
179
+ "team": "default",
180
+ "alias": "Coder"
181
+ }
182
+ }
183
+ },
184
+ {
185
+ "id": "s-polish-a13a",
186
+ "name": "polish",
187
+ "type": "lmctl/review",
188
+ "typeVersion": 1,
189
+ "parameters": {
190
+ "max_loops": 5
191
+ },
192
+ "members": {
193
+ "coder": {
194
+ "team": "default",
195
+ "alias": "Polisher"
196
+ }
197
+ }
198
+ },
199
+ {
200
+ "id": "s-template-detect-9e21",
201
+ "name": "template_detect",
202
+ "type": "lmctl/shell-step",
203
+ "typeVersion": 1,
204
+ "parameters": {
205
+ "command": "detect_pr_template.pl",
206
+ "outcomes_from_exit": {
207
+ "0": "@terminal:exit_0",
208
+ "2": "@terminal:exit_2",
209
+ "default": "@terminal:exit_default"
210
+ }
211
+ }
212
+ },
213
+ {
214
+ "id": "s-conform-45a7",
215
+ "name": "conform",
216
+ "type": "lmctl/review",
217
+ "typeVersion": 1,
218
+ "parameters": {
219
+ "max_loops": 5
220
+ },
221
+ "members": {
222
+ "coder": {
223
+ "team": "default",
224
+ "alias": "Conformer"
225
+ }
226
+ }
227
+ },
228
+ {
229
+ "id": "s-final-review-a726",
230
+ "name": "final_review",
231
+ "type": "lmctl/review",
232
+ "typeVersion": 1,
233
+ "parameters": {
234
+ "max_loops": 2
235
+ },
236
+ "members": {
237
+ "coder": {
238
+ "team": "default",
239
+ "alias": "Polisher"
240
+ },
241
+ "reviewers": [
242
+ {
243
+ "team": "default",
244
+ "alias": "FinalReviewer"
245
+ }
246
+ ]
247
+ }
248
+ },
249
+ {
250
+ "id": "s-pr-request-compose-549d",
251
+ "name": "pr_request_compose",
252
+ "type": "lmctl/shell-step",
253
+ "typeVersion": 1,
254
+ "parameters": {
255
+ "command": "compose_pr_request.pl",
256
+ "outcomes_from_exit": {
257
+ "0": "@terminal:exit_0",
258
+ "default": "@terminal:exit_default"
259
+ }
260
+ }
261
+ },
262
+ {
263
+ "id": "s-pr-lint-3943",
264
+ "name": "pr_lint",
265
+ "type": "lmctl/shell-step",
266
+ "typeVersion": 1,
267
+ "parameters": {
268
+ "command": "pr_lint.pl",
269
+ "outcomes_from_exit": {
270
+ "0": "@terminal:exit_0",
271
+ "default": "@terminal:exit_default"
272
+ }
273
+ }
274
+ },
275
+ {
276
+ "id": "s-pr-dedup-check-862c",
277
+ "name": "pr_dedup_check",
278
+ "type": "lmctl/shell-step",
279
+ "typeVersion": 1,
280
+ "parameters": {
281
+ "command": "lmdedup --repo {{project.owner}}/{{project.repo}} --pr-file {{project.local_path}}/.lmctl-pr-request.txt --json",
282
+ "outcomes_from_exit": {
283
+ "0": "@terminal:exit_0",
284
+ "default": "@terminal:exit_default"
285
+ }
286
+ }
287
+ },
288
+ {
289
+ "id": "s-pr-submit-dry-run-29b7",
290
+ "name": "pr_submit_dry_run",
291
+ "type": "lmctl/shell-step",
292
+ "typeVersion": 1,
293
+ "parameters": {
294
+ "command": "submit_pr_from_request.pl --dry-run",
295
+ "outcomes_from_exit": {
296
+ "0": "@terminal:exit_0",
297
+ "default": "@terminal:exit_default"
298
+ }
299
+ }
300
+ },
301
+ {
302
+ "id": "s-human-escalate-gate-fef1",
303
+ "name": "human_escalate_gate",
304
+ "type": "lmctl/interactive",
305
+ "typeVersion": 1,
306
+ "parameters": {
307
+ "termination": {
308
+ "operator_signal": true,
309
+ "max_turns": 1
310
+ }
311
+ },
312
+ "members": {
313
+ "agent": {
314
+ "team": "default",
315
+ "alias": "Coder",
316
+ "initial_prompt_template": "Workflow ready for human submit. Branch + PR_BODY.md + diff are local; please review and run: gh pr create --draft --base main --body-file PR_BODY.md\n\nWhen you have reviewed and are ready to proceed (approve or reject), signal done."
317
+ }
318
+ }
319
+ },
320
+ {
321
+ "id": "s-human-escalate-decide-6c5f",
322
+ "name": "human_escalate_decide",
323
+ "type": "lmctl/review",
324
+ "typeVersion": 1,
325
+ "parameters": {
326
+ "max_loops": 5
327
+ },
328
+ "members": {
329
+ "coder": {
330
+ "team": "default",
331
+ "alias": "Coder",
332
+ "prompt_template": "The operator has reviewed the PR artifacts. Based on the conversation context, determine their decision.\n\nIf the operator approved: STANCE: approved\nIf the operator rejected: STANCE: rejected"
333
+ }
334
+ }
335
+ },
336
+ {
337
+ "id": "s-terminal-aborted-646b",
338
+ "name": "terminal:aborted",
339
+ "type": "lmctl/terminal",
340
+ "typeVersion": 1,
341
+ "parameters": {
342
+ "name": "aborted",
343
+ "kind": "failure"
344
+ }
345
+ },
346
+ {
347
+ "id": "s-terminal-claimed-0705",
348
+ "name": "terminal:claimed",
349
+ "type": "lmctl/terminal",
350
+ "typeVersion": 1,
351
+ "parameters": {
352
+ "name": "claimed",
353
+ "kind": "neutral"
354
+ }
355
+ },
356
+ {
357
+ "id": "s-terminal-dup-pr-active-8423",
358
+ "name": "terminal:dup_pr_active",
359
+ "type": "lmctl/terminal",
360
+ "typeVersion": 1,
361
+ "parameters": {
362
+ "name": "dup_pr_active",
363
+ "kind": "neutral"
364
+ }
365
+ },
366
+ {
367
+ "id": "s-terminal-clarification-pr-f4db",
368
+ "name": "terminal:clarification_pr",
369
+ "type": "lmctl/terminal",
370
+ "typeVersion": 1,
371
+ "parameters": {
372
+ "name": "clarification_pr",
373
+ "kind": "neutral"
374
+ }
375
+ },
376
+ {
377
+ "id": "s-terminal-not-reproducible-b1f4",
378
+ "name": "terminal:not_reproducible",
379
+ "type": "lmctl/terminal",
380
+ "typeVersion": 1,
381
+ "parameters": {
382
+ "name": "not_reproducible",
383
+ "kind": "neutral"
384
+ }
385
+ },
386
+ {
387
+ "id": "s-terminal-pr-ready-da6b",
388
+ "name": "terminal:pr_ready",
389
+ "type": "lmctl/terminal",
390
+ "typeVersion": 1,
391
+ "parameters": {
392
+ "name": "pr_ready",
393
+ "kind": "success"
394
+ }
395
+ }
396
+ ],
397
+ "connections": {
398
+ "s-stage1-filter-score-96d7": {
399
+ "ok": [
400
+ [
401
+ {
402
+ "step_id": "s-claim-check-e442",
403
+ "type": "main",
404
+ "index": 0
405
+ }
406
+ ]
407
+ ],
408
+ "error": [
409
+ [
410
+ {
411
+ "step_id": "s-terminal-aborted-646b",
412
+ "type": "main",
413
+ "index": 0
414
+ }
415
+ ]
416
+ ]
417
+ },
418
+ "s-stage1-score-item-6ceb": {
419
+ "1": [
420
+ [
421
+ {
422
+ "step_id": "s-terminal-aborted-646b",
423
+ "type": "main",
424
+ "index": 0
425
+ }
426
+ ]
427
+ ],
428
+ "2": [
429
+ [
430
+ {
431
+ "step_id": "s-terminal-aborted-646b",
432
+ "type": "main",
433
+ "index": 0
434
+ }
435
+ ]
436
+ ],
437
+ "3": [
438
+ [
439
+ {
440
+ "step_id": "s-terminal-aborted-646b",
441
+ "type": "main",
442
+ "index": 0
443
+ }
444
+ ]
445
+ ],
446
+ "4": [
447
+ [
448
+ {
449
+ "step_id": "s-terminal-aborted-646b",
450
+ "type": "main",
451
+ "index": 0
452
+ }
453
+ ]
454
+ ],
455
+ "5": [
456
+ [
457
+ {
458
+ "step_id": "s-terminal-aborted-646b",
459
+ "type": "main",
460
+ "index": 0
461
+ }
462
+ ]
463
+ ],
464
+ "approve": [
465
+ [
466
+ {
467
+ "step_id": "s-terminal-aborted-646b",
468
+ "type": "main",
469
+ "index": 0
470
+ }
471
+ ]
472
+ ]
473
+ },
474
+ "s-claim-check-e442": {
475
+ "approve": [
476
+ [
477
+ {
478
+ "step_id": "s-terminal-aborted-646b",
479
+ "type": "main",
480
+ "index": 0
481
+ }
482
+ ]
483
+ ],
484
+ "open": [
485
+ [
486
+ {
487
+ "step_id": "s-dedup-check-5c02",
488
+ "type": "main",
489
+ "index": 0
490
+ }
491
+ ]
492
+ ],
493
+ "claimed": [
494
+ [
495
+ {
496
+ "step_id": "s-terminal-claimed-0705",
497
+ "type": "main",
498
+ "index": 0
499
+ }
500
+ ]
501
+ ],
502
+ "dup_pr_active": [
503
+ [
504
+ {
505
+ "step_id": "s-terminal-dup-pr-active-8423",
506
+ "type": "main",
507
+ "index": 0
508
+ }
509
+ ]
510
+ ],
511
+ "closed": [
512
+ [
513
+ {
514
+ "step_id": "s-terminal-aborted-646b",
515
+ "type": "main",
516
+ "index": 0
517
+ }
518
+ ]
519
+ ],
520
+ "failed": [
521
+ [
522
+ {
523
+ "step_id": "s-terminal-aborted-646b",
524
+ "type": "main",
525
+ "index": 0
526
+ }
527
+ ]
528
+ ]
529
+ },
530
+ "s-dedup-check-5c02": {
531
+ "exit_0": [
532
+ [
533
+ {
534
+ "step_id": "s-feasibility-1f3e",
535
+ "type": "main",
536
+ "index": 0
537
+ }
538
+ ]
539
+ ],
540
+ "exit_default": [
541
+ [
542
+ {
543
+ "step_id": "s-terminal-aborted-646b",
544
+ "type": "main",
545
+ "index": 0
546
+ }
547
+ ]
548
+ ]
549
+ },
550
+ "s-feasibility-1f3e": {
551
+ "approve": [
552
+ [
553
+ {
554
+ "step_id": "s-terminal-aborted-646b",
555
+ "type": "main",
556
+ "index": 0
557
+ }
558
+ ]
559
+ ],
560
+ "tractable": [
561
+ [
562
+ {
563
+ "step_id": "s-reproduce-21c8",
564
+ "type": "main",
565
+ "index": 0
566
+ }
567
+ ]
568
+ ],
569
+ "blocked_setup": [
570
+ [
571
+ {
572
+ "step_id": "s-terminal-aborted-646b",
573
+ "type": "main",
574
+ "index": 0
575
+ }
576
+ ]
577
+ ],
578
+ "requires_clarification": [
579
+ [
580
+ {
581
+ "step_id": "s-terminal-clarification-pr-f4db",
582
+ "type": "main",
583
+ "index": 0
584
+ }
585
+ ]
586
+ ],
587
+ "failed": [
588
+ [
589
+ {
590
+ "step_id": "s-terminal-aborted-646b",
591
+ "type": "main",
592
+ "index": 0
593
+ }
594
+ ]
595
+ ]
596
+ },
597
+ "s-reproduce-21c8": {
598
+ "approve": [
599
+ [
600
+ {
601
+ "step_id": "s-root-cause-585a",
602
+ "type": "main",
603
+ "index": 0
604
+ }
605
+ ]
606
+ ],
607
+ "request_changes": [
608
+ [
609
+ {
610
+ "step_id": "s-reproduce-21c8",
611
+ "type": "main",
612
+ "index": 0
613
+ }
614
+ ]
615
+ ],
616
+ "max_loops_exceeded": [
617
+ [
618
+ {
619
+ "step_id": "s-terminal-not-reproducible-b1f4",
620
+ "type": "main",
621
+ "index": 0
622
+ }
623
+ ]
624
+ ]
625
+ },
626
+ "s-root-cause-585a": {
627
+ "approve": [
628
+ [
629
+ {
630
+ "step_id": "s-terminal-aborted-646b",
631
+ "type": "main",
632
+ "index": 0
633
+ }
634
+ ]
635
+ ],
636
+ "found": [
637
+ [
638
+ {
639
+ "step_id": "s-fix-952d",
640
+ "type": "main",
641
+ "index": 0
642
+ }
643
+ ]
644
+ ],
645
+ "hypothesized": [
646
+ [
647
+ {
648
+ "step_id": "s-fix-952d",
649
+ "type": "main",
650
+ "index": 0
651
+ }
652
+ ]
653
+ ],
654
+ "none": [
655
+ [
656
+ {
657
+ "step_id": "s-terminal-aborted-646b",
658
+ "type": "main",
659
+ "index": 0
660
+ }
661
+ ]
662
+ ],
663
+ "failed": [
664
+ [
665
+ {
666
+ "step_id": "s-terminal-aborted-646b",
667
+ "type": "main",
668
+ "index": 0
669
+ }
670
+ ]
671
+ ]
672
+ },
673
+ "s-fix-952d": {
674
+ "approve": [
675
+ [
676
+ {
677
+ "step_id": "s-terminal-aborted-646b",
678
+ "type": "main",
679
+ "index": 0
680
+ }
681
+ ]
682
+ ],
683
+ "applied": [
684
+ [
685
+ {
686
+ "step_id": "s-focused-test-f5d4",
687
+ "type": "main",
688
+ "index": 0
689
+ }
690
+ ]
691
+ ],
692
+ "failed": [
693
+ [
694
+ {
695
+ "step_id": "s-terminal-aborted-646b",
696
+ "type": "main",
697
+ "index": 0
698
+ }
699
+ ]
700
+ ]
701
+ },
702
+ "s-focused-test-f5d4": {
703
+ "exit_0": [
704
+ [
705
+ {
706
+ "step_id": "s-code-review-4ee7",
707
+ "type": "main",
708
+ "index": 0
709
+ }
710
+ ]
711
+ ],
712
+ "exit_default": [
713
+ [
714
+ {
715
+ "step_id": "s-terminal-aborted-646b",
716
+ "type": "main",
717
+ "index": 0
718
+ }
719
+ ]
720
+ ]
721
+ },
722
+ "s-code-review-4ee7": {
723
+ "approve": [
724
+ [
725
+ {
726
+ "step_id": "s-internal-pr-artifact-ac9f",
727
+ "type": "main",
728
+ "index": 0
729
+ }
730
+ ]
731
+ ],
732
+ "request_changes": [
733
+ [
734
+ {
735
+ "step_id": "s-code-review-4ee7",
736
+ "type": "main",
737
+ "index": 0
738
+ }
739
+ ]
740
+ ],
741
+ "max_loops_exceeded": [
742
+ [
743
+ {
744
+ "step_id": "s-terminal-aborted-646b",
745
+ "type": "main",
746
+ "index": 0
747
+ }
748
+ ]
749
+ ]
750
+ },
751
+ "s-internal-pr-artifact-ac9f": {
752
+ "approve": [
753
+ [
754
+ {
755
+ "step_id": "s-terminal-aborted-646b",
756
+ "type": "main",
757
+ "index": 0
758
+ }
759
+ ]
760
+ ],
761
+ "built": [
762
+ [
763
+ {
764
+ "step_id": "s-polish-a13a",
765
+ "type": "main",
766
+ "index": 0
767
+ }
768
+ ]
769
+ ],
770
+ "failed": [
771
+ [
772
+ {
773
+ "step_id": "s-terminal-aborted-646b",
774
+ "type": "main",
775
+ "index": 0
776
+ }
777
+ ]
778
+ ]
779
+ },
780
+ "s-polish-a13a": {
781
+ "approve": [
782
+ [
783
+ {
784
+ "step_id": "s-terminal-aborted-646b",
785
+ "type": "main",
786
+ "index": 0
787
+ }
788
+ ]
789
+ ],
790
+ "rewrote": [
791
+ [
792
+ {
793
+ "step_id": "s-template-detect-9e21",
794
+ "type": "main",
795
+ "index": 0
796
+ }
797
+ ]
798
+ ],
799
+ "failed": [
800
+ [
801
+ {
802
+ "step_id": "s-terminal-aborted-646b",
803
+ "type": "main",
804
+ "index": 0
805
+ }
806
+ ]
807
+ ]
808
+ },
809
+ "s-template-detect-9e21": {
810
+ "exit_0": [
811
+ [
812
+ {
813
+ "step_id": "s-conform-45a7",
814
+ "type": "main",
815
+ "index": 0
816
+ }
817
+ ]
818
+ ],
819
+ "exit_2": [
820
+ [
821
+ {
822
+ "step_id": "s-final-review-a726",
823
+ "type": "main",
824
+ "index": 0
825
+ }
826
+ ]
827
+ ],
828
+ "exit_default": [
829
+ [
830
+ {
831
+ "step_id": "s-terminal-aborted-646b",
832
+ "type": "main",
833
+ "index": 0
834
+ }
835
+ ]
836
+ ]
837
+ },
838
+ "s-conform-45a7": {
839
+ "approve": [
840
+ [
841
+ {
842
+ "step_id": "s-terminal-aborted-646b",
843
+ "type": "main",
844
+ "index": 0
845
+ }
846
+ ]
847
+ ],
848
+ "conformed": [
849
+ [
850
+ {
851
+ "step_id": "s-final-review-a726",
852
+ "type": "main",
853
+ "index": 0
854
+ }
855
+ ]
856
+ ],
857
+ "failed": [
858
+ [
859
+ {
860
+ "step_id": "s-terminal-aborted-646b",
861
+ "type": "main",
862
+ "index": 0
863
+ }
864
+ ]
865
+ ]
866
+ },
867
+ "s-final-review-a726": {
868
+ "approve": [
869
+ [
870
+ {
871
+ "step_id": "s-pr-request-compose-549d",
872
+ "type": "main",
873
+ "index": 0
874
+ }
875
+ ]
876
+ ],
877
+ "request_changes": [
878
+ [
879
+ {
880
+ "step_id": "s-final-review-a726",
881
+ "type": "main",
882
+ "index": 0
883
+ }
884
+ ]
885
+ ],
886
+ "max_loops_exceeded": [
887
+ [
888
+ {
889
+ "step_id": "s-terminal-aborted-646b",
890
+ "type": "main",
891
+ "index": 0
892
+ }
893
+ ]
894
+ ]
895
+ },
896
+ "s-pr-request-compose-549d": {
897
+ "exit_0": [
898
+ [
899
+ {
900
+ "step_id": "s-pr-lint-3943",
901
+ "type": "main",
902
+ "index": 0
903
+ }
904
+ ]
905
+ ],
906
+ "exit_default": [
907
+ [
908
+ {
909
+ "step_id": "s-terminal-aborted-646b",
910
+ "type": "main",
911
+ "index": 0
912
+ }
913
+ ]
914
+ ]
915
+ },
916
+ "s-pr-lint-3943": {
917
+ "exit_0": [
918
+ [
919
+ {
920
+ "step_id": "s-pr-dedup-check-862c",
921
+ "type": "main",
922
+ "index": 0
923
+ }
924
+ ]
925
+ ],
926
+ "exit_default": [
927
+ [
928
+ {
929
+ "step_id": "s-terminal-aborted-646b",
930
+ "type": "main",
931
+ "index": 0
932
+ }
933
+ ]
934
+ ]
935
+ },
936
+ "s-pr-dedup-check-862c": {
937
+ "exit_0": [
938
+ [
939
+ {
940
+ "step_id": "s-pr-submit-dry-run-29b7",
941
+ "type": "main",
942
+ "index": 0
943
+ }
944
+ ]
945
+ ],
946
+ "exit_default": [
947
+ [
948
+ {
949
+ "step_id": "s-pr-submit-dry-run-29b7",
950
+ "type": "main",
951
+ "index": 0
952
+ }
953
+ ]
954
+ ]
955
+ },
956
+ "s-pr-submit-dry-run-29b7": {
957
+ "exit_0": [
958
+ [
959
+ {
960
+ "step_id": "s-human-escalate-gate-fef1",
961
+ "type": "main",
962
+ "index": 0
963
+ }
964
+ ]
965
+ ],
966
+ "exit_default": [
967
+ [
968
+ {
969
+ "step_id": "s-terminal-aborted-646b",
970
+ "type": "main",
971
+ "index": 0
972
+ }
973
+ ]
974
+ ]
975
+ },
976
+ "s-human-escalate-gate-fef1": {
977
+ "done": [
978
+ [
979
+ {
980
+ "step_id": "s-human-escalate-decide-6c5f",
981
+ "type": "main",
982
+ "index": 0
983
+ }
984
+ ]
985
+ ]
986
+ },
987
+ "s-human-escalate-decide-6c5f": {
988
+ "approve": [
989
+ [
990
+ {
991
+ "step_id": "s-terminal-aborted-646b",
992
+ "type": "main",
993
+ "index": 0
994
+ }
995
+ ]
996
+ ],
997
+ "approved": [
998
+ [
999
+ {
1000
+ "step_id": "s-terminal-pr-ready-da6b",
1001
+ "type": "main",
1002
+ "index": 0
1003
+ }
1004
+ ]
1005
+ ],
1006
+ "rejected": [
1007
+ [
1008
+ {
1009
+ "step_id": "s-terminal-aborted-646b",
1010
+ "type": "main",
1011
+ "index": 0
1012
+ }
1013
+ ]
1014
+ ]
1015
+ }
1016
+ },
1017
+ "entry_step_id": "s-stage1-filter-score-96d7"
1018
+ }