opencode-swarm 7.173.1 → 7.175.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 (112) hide show
  1. package/.opencode/skills/swarm-pr-review/references/findings-persistence-contract.md +37 -0
  2. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  3. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  4. package/dist/agents/critic.d.ts +44 -2
  5. package/dist/background/pending-delegations.d.ts +10 -0
  6. package/dist/background/pr-review-contract.d.ts +27 -0
  7. package/dist/background/stage-b-gates.d.ts +29 -0
  8. package/dist/background/status-artifact.d.ts +24 -1
  9. package/dist/cli/{coder-settlement-kxxmd9jt.js → coder-settlement-f2n9yp7a.js} +11 -11
  10. package/dist/cli/{config-doctor-nzcya5zr.js → config-doctor-zcyz614n.js} +2 -2
  11. package/dist/cli/{core-s9a9kmcc.js → core-jar8cmzf.js} +3 -3
  12. package/dist/cli/{curation-policy-tx4kb30e.js → curation-policy-e5p147bb.js} +5 -5
  13. package/dist/cli/{curator-jkp8558s.js → curator-3xfz7wdp.js} +36 -36
  14. package/dist/cli/{curator-drift-047n8fjw.js → curator-drift-x3tt8apf.js} +4 -4
  15. package/dist/cli/curator-llm-factory-rc7cqtx8.js +72 -0
  16. package/dist/cli/{evidence-summary-service-ek50h5b3.js → evidence-summary-service-bpe04ngj.js} +15 -15
  17. package/dist/cli/{gate-evidence-8dk50ten.js → gate-evidence-pyzzafp3.js} +6 -6
  18. package/dist/cli/guardrail-explain-ncrw7k8h.js +73 -0
  19. package/dist/cli/{guardrail-log-hq5xpm7g.js → guardrail-log-nn2t8xyd.js} +7 -7
  20. package/dist/cli/{guardrail-reset-gttz1y0h.js → guardrail-reset-3c3c7e5e.js} +36 -36
  21. package/dist/cli/{hive-promoter-44p7ng87.js → hive-promoter-xfbabpnm.js} +36 -36
  22. package/dist/cli/{index-53c0ajk4.js → index-20q20gpd.js} +1 -1
  23. package/dist/cli/{index-m51cmzxt.js → index-2dv07mw2.js} +1 -1
  24. package/dist/cli/{index-fnx0jzf7.js → index-2xwavnbg.js} +1 -1
  25. package/dist/cli/{index-62pcs7jg.js → index-4rm5saxs.js} +3 -3
  26. package/dist/cli/{index-za1kvsa0.js → index-5t71wd7j.js} +2 -2
  27. package/dist/cli/{index-dktpzjy9.js → index-6tbnev6y.js} +1 -1
  28. package/dist/cli/{index-1xfxzjq9.js → index-6yqszgky.js} +2 -2
  29. package/dist/cli/{index-pynk60z5.js → index-8bbhh3kx.js} +8 -8
  30. package/dist/cli/{index-bsnpv4xd.js → index-8tn4yx8b.js} +2 -2
  31. package/dist/cli/{index-mt8pbzda.js → index-96hz14wr.js} +12 -12
  32. package/dist/cli/{index-z35ynvj4.js → index-98r0bh1c.js} +1 -1
  33. package/dist/cli/{index-psb9rxt8.js → index-9gpe25nr.js} +5 -5
  34. package/dist/cli/{index-wf3s2t1t.js → index-ar3ve24w.js} +3005 -2328
  35. package/dist/cli/{index-dx9pz5n6.js → index-bmk77mpq.js} +7 -7
  36. package/dist/cli/{index-ndvgkxpf.js → index-c60t3sw6.js} +2 -2
  37. package/dist/cli/{index-43dmpa9w.js → index-cpgh76bk.js} +2 -2
  38. package/dist/cli/{index-evf5r7bk.js → index-czhbsgdh.js} +1 -1
  39. package/dist/cli/{index-j0vvq8se.js → index-d0wq7paf.js} +7 -7
  40. package/dist/cli/{index-cm0339fe.js → index-ddvva9fn.js} +4 -4
  41. package/dist/cli/{index-mjqjbq94.js → index-fzvh6trw.js} +11 -11
  42. package/dist/cli/{index-pjw95rxm.js → index-gtej1br8.js} +65 -10
  43. package/dist/cli/{index-c5nrcde1.js → index-hdwdapp6.js} +38 -38
  44. package/dist/cli/{index-m53v442a.js → index-hej0z0sm.js} +36 -36
  45. package/dist/cli/{index-r93ptj7j.js → index-hqmr21qx.js} +19 -1
  46. package/dist/cli/{index-18b9snn6.js → index-j1yd2gbz.js} +6 -6
  47. package/dist/cli/{index-kdyvk541.js → index-jgkva4r4.js} +2 -2
  48. package/dist/cli/{index-0dfhahxm.js → index-jj09bfnn.js} +2 -2
  49. package/dist/cli/{index-hhws1xkc.js → index-jn3m9s61.js} +1 -1
  50. package/dist/cli/{index-wr4m11x4.js → index-kj7h2yfv.js} +1 -1
  51. package/dist/cli/{index-6z404f7y.js → index-m6bsy0jb.js} +4 -4
  52. package/dist/cli/{index-90qbc4rp.js → index-mat5rawf.js} +11 -3
  53. package/dist/cli/{index-samx6zgc.js → index-n5jac8z9.js} +1 -1
  54. package/dist/cli/{index-r8g2meas.js → index-nr96hbpy.js} +5 -3
  55. package/dist/cli/{index-yeehyat1.js → index-ppb5krpy.js} +2 -2
  56. package/dist/cli/{index-jmn35na4.js → index-qz6ee73z.js} +3 -3
  57. package/dist/cli/{index-7gkdxs00.js → index-tr9jz898.js} +7 -7
  58. package/dist/cli/{index-yzwb6ja4.js → index-vqjkr1kd.js} +1 -1
  59. package/dist/cli/{index-p36b6t7w.js → index-vt9a5rbg.js} +16 -9
  60. package/dist/cli/{index-vwnd2szd.js → index-yk3es7m2.js} +22 -13
  61. package/dist/cli/{index-gwtb07gc.js → index-zpygn1tn.js} +3 -3
  62. package/dist/cli/{index-gwz9p53s.js → index-zz40vfbz.js} +2 -2
  63. package/dist/cli/index.js +37 -37
  64. package/dist/cli/{knowledge-escalator-ttp4x29h.js → knowledge-escalator-2zjpwg0q.js} +12 -12
  65. package/dist/cli/{knowledge-events-dx9mjgqb.js → knowledge-events-gp2ckzqm.js} +10 -10
  66. package/dist/cli/{knowledge-link-f7bhq7cx.js → knowledge-link-s77cyqxk.js} +4 -4
  67. package/dist/cli/{knowledge-store-6sq9rxma.js → knowledge-store-kd88k067.js} +5 -5
  68. package/dist/cli/{knowledge-validator-h49dkw2z.js → knowledge-validator-22t16mba.js} +7 -7
  69. package/dist/cli/{mcp-kd7w2572.js → mcp-1fjc89yp.js} +1 -1
  70. package/dist/cli/{pending-delegations-n4qyymj2.js → pending-delegations-k4hfqz12.js} +11 -11
  71. package/dist/cli/{pr-subscriptions-n8vkm5mv.js → pr-subscriptions-8g6w41vz.js} +11 -11
  72. package/dist/cli/{pr-workflow-gate-j67jhtzt.js → pr-workflow-gate-kb3e709n.js} +42 -36
  73. package/dist/cli/{runner-58k70bnr.js → runner-nzppg2ky.js} +5 -5
  74. package/dist/cli/{scan-cursor-sz8ncpw2.js → scan-cursor-erm49azh.js} +6 -6
  75. package/dist/cli/{schema-70c0yw8p.js → schema-kts10txe.js} +5 -1
  76. package/dist/cli/{scope-persistence-0dzyv0vt.js → scope-persistence-krnvsmsz.js} +14 -14
  77. package/dist/cli/{server-njmemwbm.js → server-9bqh036q.js} +36 -36
  78. package/dist/cli/{skill-generator-kf5yqmvk.js → skill-generator-7q75h2kr.js} +14 -14
  79. package/dist/cli/{snapshot-coordination-init-ezf5xqy2.js → snapshot-coordination-init-bw9mn21x.js} +36 -36
  80. package/dist/cli/{telemetry-zed80n86.js → telemetry-7bk8ps5p.js} +1 -1
  81. package/dist/cli/{workspace-snapshot-62be4368.js → workspace-snapshot-6aw002e8.js} +3 -3
  82. package/dist/cli/{worktree-collision-ownership-fe176vyv.js → worktree-collision-ownership-ajagwzh8.js} +12 -12
  83. package/dist/cli/{worktree-isolation-c0b1h3f1.js → worktree-isolation-rmqp04fx.js} +36 -36
  84. package/dist/commands/registry.d.ts +1 -1
  85. package/dist/config/index.d.ts +2 -2
  86. package/dist/config/schema.d.ts +22 -8
  87. package/dist/events/core-events.d.ts +2 -0
  88. package/dist/evidence/task-gate-requirements.d.ts +24 -0
  89. package/dist/gate-evidence.d.ts +12 -0
  90. package/dist/hooks/pr-workflow-gate.d.ts +28 -0
  91. package/dist/index.d.ts +8 -0
  92. package/dist/index.js +501 -488
  93. package/dist/parallel/review-router.d.ts +8 -2
  94. package/dist/pr-review/completion.d.ts +2 -1
  95. package/dist/pr-review/finding-policy.d.ts +194 -0
  96. package/dist/pr-review/types.d.ts +8 -0
  97. package/dist/review/routing-enforcement.d.ts +163 -0
  98. package/dist/session/snapshot-writer.d.ts +2 -0
  99. package/dist/state.d.ts +28 -0
  100. package/dist/tools/complete-pr-workflow.d.ts +2 -1
  101. package/dist/tools/dispatch-lanes.d.ts +29 -0
  102. package/dist/tools/tool-metadata.d.ts +16 -16
  103. package/dist/tools/update-task-status.d.ts +0 -10
  104. package/dist/tools/write-pr-review-artifact.d.ts +7 -0
  105. package/dist/workflow/coder-settlement.d.ts +7 -0
  106. package/dist/workflow/recovery-invocation.d.ts +35 -0
  107. package/dist/workflow/stage-a-repair.d.ts +17 -0
  108. package/dist/workflow/task-recovery-status.d.ts +61 -0
  109. package/opencode-swarm.schema.json +11 -0
  110. package/package.json +2 -1
  111. package/dist/cli/curator-llm-factory-dza1qtwr.js +0 -72
  112. package/dist/cli/guardrail-explain-s29vngen.js +0 -73
@@ -33,32 +33,32 @@ import {
33
33
  sanitizeSlug,
34
34
  selectCandidateEntries,
35
35
  writeEvalStub
36
- } from "./index-6z404f7y.js";
36
+ } from "./index-m6bsy0jb.js";
37
37
  import"./index-q7sjgr1y.js";
38
- import"./index-pynk60z5.js";
39
- import"./index-evf5r7bk.js";
38
+ import"./index-8bbhh3kx.js";
39
+ import"./index-czhbsgdh.js";
40
40
  import"./index-2s7dvzff.js";
41
- import"./index-cm0339fe.js";
42
- import"./index-m51cmzxt.js";
41
+ import"./index-ddvva9fn.js";
42
+ import"./index-2dv07mw2.js";
43
43
  import"./index-rtry5xyf.js";
44
- import"./index-gwz9p53s.js";
44
+ import"./index-zz40vfbz.js";
45
45
  import"./index-frcemc0b.js";
46
46
  import"./index-wrt875kh.js";
47
- import"./index-43dmpa9w.js";
48
- import"./index-j0vvq8se.js";
47
+ import"./index-cpgh76bk.js";
48
+ import"./index-d0wq7paf.js";
49
49
  import"./index-vzm6zre7.js";
50
50
  import"./index-ae75rja9.js";
51
- import"./index-yzwb6ja4.js";
52
- import"./index-kdyvk541.js";
51
+ import"./index-vqjkr1kd.js";
52
+ import"./index-jgkva4r4.js";
53
53
  import"./index-7g4c7s5r.js";
54
- import"./index-jmn35na4.js";
55
- import"./index-bsnpv4xd.js";
54
+ import"./index-qz6ee73z.js";
55
+ import"./index-8tn4yx8b.js";
56
56
  import"./index-1xnse449.js";
57
57
  import"./index-c1ggtmpm.js";
58
- import"./index-53c0ajk4.js";
58
+ import"./index-20q20gpd.js";
59
59
  import"./index-0mhftbpp.js";
60
60
  import"./index-a1w58b47.js";
61
- import"./index-90qbc4rp.js";
61
+ import"./index-mat5rawf.js";
62
62
  import"./index-5frh43fj.js";
63
63
  import"./index-bk5tah7q.js";
64
64
  import"./index-gknz3bv1.js";
@@ -8,64 +8,64 @@ import {
8
8
  markSnapshotCoordinationClosing,
9
9
  retrySnapshotCoordinationInitialization,
10
10
  startSnapshotCoordinationInitialization
11
- } from "./index-wf3s2t1t.js";
11
+ } from "./index-ar3ve24w.js";
12
12
  import"./index-hnvmj9wx.js";
13
- import"./index-hhws1xkc.js";
14
- import"./index-62pcs7jg.js";
15
- import"./index-wr4m11x4.js";
16
- import"./index-r93ptj7j.js";
17
- import"./index-mjqjbq94.js";
18
- import"./index-z35ynvj4.js";
13
+ import"./index-jn3m9s61.js";
14
+ import"./index-4rm5saxs.js";
15
+ import"./index-kj7h2yfv.js";
16
+ import"./index-hqmr21qx.js";
17
+ import"./index-fzvh6trw.js";
18
+ import"./index-98r0bh1c.js";
19
19
  import"./index-txdagbh7.js";
20
20
  import"./index-z2deqhpp.js";
21
21
  import"./index-fpbcxykc.js";
22
- import"./index-6z404f7y.js";
23
- import"./index-psb9rxt8.js";
24
- import"./index-1xfxzjq9.js";
22
+ import"./index-m6bsy0jb.js";
23
+ import"./index-9gpe25nr.js";
24
+ import"./index-6yqszgky.js";
25
25
  import"./index-fyfbpz4f.js";
26
- import"./index-7gkdxs00.js";
26
+ import"./index-tr9jz898.js";
27
27
  import"./index-0hgmsyfp.js";
28
28
  import"./index-zsrtt42s.js";
29
- import"./index-p36b6t7w.js";
30
- import"./index-ndvgkxpf.js";
31
- import"./index-0dfhahxm.js";
29
+ import"./index-vt9a5rbg.js";
30
+ import"./index-c60t3sw6.js";
31
+ import"./index-jj09bfnn.js";
32
32
  import"./index-pt7h91zc.js";
33
33
  import"./index-q7sjgr1y.js";
34
- import"./index-pjw95rxm.js";
35
- import"./index-gwtb07gc.js";
36
- import"./index-vwnd2szd.js";
37
- import"./index-pynk60z5.js";
38
- import"./index-evf5r7bk.js";
34
+ import"./index-gtej1br8.js";
35
+ import"./index-zpygn1tn.js";
36
+ import"./index-yk3es7m2.js";
37
+ import"./index-8bbhh3kx.js";
38
+ import"./index-czhbsgdh.js";
39
39
  import"./index-2s7dvzff.js";
40
- import"./index-cm0339fe.js";
41
- import"./index-m51cmzxt.js";
40
+ import"./index-ddvva9fn.js";
41
+ import"./index-2dv07mw2.js";
42
42
  import"./index-rtry5xyf.js";
43
- import"./index-gwz9p53s.js";
43
+ import"./index-zz40vfbz.js";
44
44
  import"./index-frcemc0b.js";
45
45
  import"./index-wrt875kh.js";
46
- import"./index-dx9pz5n6.js";
47
- import"./index-18b9snn6.js";
48
- import"./index-mt8pbzda.js";
49
- import"./index-za1kvsa0.js";
50
- import"./index-fnx0jzf7.js";
51
- import"./index-dktpzjy9.js";
46
+ import"./index-bmk77mpq.js";
47
+ import"./index-j1yd2gbz.js";
48
+ import"./index-96hz14wr.js";
49
+ import"./index-5t71wd7j.js";
50
+ import"./index-2xwavnbg.js";
51
+ import"./index-6tbnev6y.js";
52
52
  import"./index-rdm3px0g.js";
53
53
  import"./index-ry16d01s.js";
54
- import"./index-43dmpa9w.js";
55
- import"./index-j0vvq8se.js";
54
+ import"./index-cpgh76bk.js";
55
+ import"./index-d0wq7paf.js";
56
56
  import"./index-vzm6zre7.js";
57
57
  import"./index-ae75rja9.js";
58
- import"./index-yzwb6ja4.js";
59
- import"./index-kdyvk541.js";
58
+ import"./index-vqjkr1kd.js";
59
+ import"./index-jgkva4r4.js";
60
60
  import"./index-7g4c7s5r.js";
61
- import"./index-jmn35na4.js";
62
- import"./index-bsnpv4xd.js";
61
+ import"./index-qz6ee73z.js";
62
+ import"./index-8tn4yx8b.js";
63
63
  import"./index-1xnse449.js";
64
64
  import"./index-c1ggtmpm.js";
65
- import"./index-53c0ajk4.js";
65
+ import"./index-20q20gpd.js";
66
66
  import"./index-0mhftbpp.js";
67
67
  import"./index-a1w58b47.js";
68
- import"./index-90qbc4rp.js";
68
+ import"./index-mat5rawf.js";
69
69
  import"./index-5frh43fj.js";
70
70
  import"./index-bk5tah7q.js";
71
71
  import"./index-gknz3bv1.js";
@@ -14,7 +14,7 @@ import {
14
14
  startHeartbeatTracking,
15
15
  stopHeartbeatTracking,
16
16
  telemetry
17
- } from "./index-jmn35na4.js";
17
+ } from "./index-qz6ee73z.js";
18
18
  import"./index-1xnse449.js";
19
19
  import"./index-c1ggtmpm.js";
20
20
  import"./index-gknz3bv1.js";
@@ -45,10 +45,10 @@ import {
45
45
  shouldSkipSnapshot,
46
46
  switchPrFeedbackTrackingCandidateAsync,
47
47
  workspaceSnapshotMatches
48
- } from "./index-ndvgkxpf.js";
49
- import"./index-evf5r7bk.js";
48
+ } from "./index-c60t3sw6.js";
49
+ import"./index-czhbsgdh.js";
50
50
  import"./index-2s7dvzff.js";
51
- import"./index-bsnpv4xd.js";
51
+ import"./index-8tn4yx8b.js";
52
52
  import"./index-1xnse449.js";
53
53
  import"./index-c1ggtmpm.js";
54
54
  import"./index-0mhftbpp.js";
@@ -9,27 +9,27 @@ import {
9
9
  WORKTREE_PROVISIONING_OWNER_LEASE_MS,
10
10
  removeWorktreeProvisioningOwner,
11
11
  scanWorktreeProvisioningOwnersForRecovery
12
- } from "./index-0dfhahxm.js";
12
+ } from "./index-jj09bfnn.js";
13
13
  import {
14
14
  scanDelegationFallbacksForRecovery,
15
15
  scanDelegationsForRecovery
16
- } from "./index-vwnd2szd.js";
17
- import"./index-evf5r7bk.js";
16
+ } from "./index-yk3es7m2.js";
17
+ import"./index-czhbsgdh.js";
18
18
  import"./index-2s7dvzff.js";
19
- import"./index-za1kvsa0.js";
20
- import"./index-fnx0jzf7.js";
21
- import"./index-dktpzjy9.js";
19
+ import"./index-5t71wd7j.js";
20
+ import"./index-2xwavnbg.js";
21
+ import"./index-6tbnev6y.js";
22
22
  import"./index-rdm3px0g.js";
23
23
  import"./index-ry16d01s.js";
24
- import"./index-43dmpa9w.js";
25
- import"./index-j0vvq8se.js";
24
+ import"./index-cpgh76bk.js";
25
+ import"./index-d0wq7paf.js";
26
26
  import"./index-vzm6zre7.js";
27
27
  import"./index-ae75rja9.js";
28
- import"./index-yzwb6ja4.js";
29
- import"./index-kdyvk541.js";
28
+ import"./index-vqjkr1kd.js";
29
+ import"./index-jgkva4r4.js";
30
30
  import"./index-7g4c7s5r.js";
31
- import"./index-jmn35na4.js";
32
- import"./index-bsnpv4xd.js";
31
+ import"./index-qz6ee73z.js";
32
+ import"./index-8tn4yx8b.js";
33
33
  import {
34
34
  canonicalRootKeyFresh
35
35
  } from "./index-1xnse449.js";
@@ -21,66 +21,66 @@ import {
21
21
  sanitizeWorktreeTaskId,
22
22
  standardWorktreeByCallID,
23
23
  standardWorktreeSerializationSessions
24
- } from "./index-wf3s2t1t.js";
24
+ } from "./index-ar3ve24w.js";
25
25
  import"./index-hnvmj9wx.js";
26
- import"./index-hhws1xkc.js";
27
- import"./index-62pcs7jg.js";
28
- import"./index-wr4m11x4.js";
29
- import"./index-r93ptj7j.js";
30
- import"./index-mjqjbq94.js";
31
- import"./index-z35ynvj4.js";
26
+ import"./index-jn3m9s61.js";
27
+ import"./index-4rm5saxs.js";
28
+ import"./index-kj7h2yfv.js";
29
+ import"./index-hqmr21qx.js";
30
+ import"./index-fzvh6trw.js";
31
+ import"./index-98r0bh1c.js";
32
32
  import"./index-txdagbh7.js";
33
33
  import"./index-z2deqhpp.js";
34
34
  import"./index-fpbcxykc.js";
35
- import"./index-6z404f7y.js";
36
- import"./index-psb9rxt8.js";
37
- import"./index-1xfxzjq9.js";
35
+ import"./index-m6bsy0jb.js";
36
+ import"./index-9gpe25nr.js";
37
+ import"./index-6yqszgky.js";
38
38
  import"./index-fyfbpz4f.js";
39
- import"./index-7gkdxs00.js";
39
+ import"./index-tr9jz898.js";
40
40
  import"./index-0hgmsyfp.js";
41
41
  import"./index-zsrtt42s.js";
42
- import"./index-p36b6t7w.js";
43
- import"./index-ndvgkxpf.js";
44
- import"./index-0dfhahxm.js";
42
+ import"./index-vt9a5rbg.js";
43
+ import"./index-c60t3sw6.js";
44
+ import"./index-jj09bfnn.js";
45
45
  import"./index-pt7h91zc.js";
46
46
  import"./index-q7sjgr1y.js";
47
- import"./index-pjw95rxm.js";
48
- import"./index-gwtb07gc.js";
49
- import"./index-vwnd2szd.js";
50
- import"./index-pynk60z5.js";
51
- import"./index-evf5r7bk.js";
47
+ import"./index-gtej1br8.js";
48
+ import"./index-zpygn1tn.js";
49
+ import"./index-yk3es7m2.js";
50
+ import"./index-8bbhh3kx.js";
51
+ import"./index-czhbsgdh.js";
52
52
  import"./index-2s7dvzff.js";
53
- import"./index-cm0339fe.js";
54
- import"./index-m51cmzxt.js";
53
+ import"./index-ddvva9fn.js";
54
+ import"./index-2dv07mw2.js";
55
55
  import"./index-rtry5xyf.js";
56
56
  import {
57
57
  resolveWorktreeIsolationConfig
58
- } from "./index-gwz9p53s.js";
58
+ } from "./index-zz40vfbz.js";
59
59
  import"./index-frcemc0b.js";
60
60
  import"./index-wrt875kh.js";
61
- import"./index-dx9pz5n6.js";
62
- import"./index-18b9snn6.js";
63
- import"./index-mt8pbzda.js";
64
- import"./index-za1kvsa0.js";
65
- import"./index-fnx0jzf7.js";
66
- import"./index-dktpzjy9.js";
61
+ import"./index-bmk77mpq.js";
62
+ import"./index-j1yd2gbz.js";
63
+ import"./index-96hz14wr.js";
64
+ import"./index-5t71wd7j.js";
65
+ import"./index-2xwavnbg.js";
66
+ import"./index-6tbnev6y.js";
67
67
  import"./index-rdm3px0g.js";
68
68
  import"./index-ry16d01s.js";
69
- import"./index-43dmpa9w.js";
70
- import"./index-j0vvq8se.js";
69
+ import"./index-cpgh76bk.js";
70
+ import"./index-d0wq7paf.js";
71
71
  import"./index-vzm6zre7.js";
72
72
  import"./index-ae75rja9.js";
73
- import"./index-yzwb6ja4.js";
74
- import"./index-kdyvk541.js";
73
+ import"./index-vqjkr1kd.js";
74
+ import"./index-jgkva4r4.js";
75
75
  import"./index-7g4c7s5r.js";
76
- import"./index-jmn35na4.js";
77
- import"./index-bsnpv4xd.js";
76
+ import"./index-qz6ee73z.js";
77
+ import"./index-8tn4yx8b.js";
78
78
  import"./index-1xnse449.js";
79
79
  import"./index-c1ggtmpm.js";
80
- import"./index-53c0ajk4.js";
80
+ import"./index-20q20gpd.js";
81
81
  import"./index-0mhftbpp.js";
82
82
  import"./index-a1w58b47.js";
83
- import"./index-90qbc4rp.js";
83
+ import"./index-mat5rawf.js";
84
84
  import"./index-5frh43fj.js";
85
85
  import"./index-bk5tah7q.js";
86
86
  import"./index-gknz3bv1.js";
@@ -1014,7 +1014,7 @@ export declare const COMMAND_REGISTRY: {
1014
1014
  readonly recover: {
1015
1015
  readonly handler: (ctx: CommandContext) => Promise<string>;
1016
1016
  readonly description: "Recover wedged coder settlements [task_id] [--force]";
1017
- readonly details: "Settles stale coder-settlement WALs in .swarm/coder-settlements/ — the CODER_DISPATCH_IN_PROGRESS wedge where a dispatch's completion never fired (issue #2268). Safe mode recovers settlements whose owner process is gone. --force also releases ownership keys held by this process: use only when no dispatch is genuinely running (a late completion then reports CODER_SETTLEMENT_IDEMPOTENCY_CONFLICT, safe to ignore). Never interrupts another live OpenCode process. Also repairs tasks wedged at coder_delegated with unattributed green pre_check evidence — the post-reset TASK_WORKFLOW_STAGE_A_REQUIRED wedge — by writing the missing stage_a_passed transition directly (audit events land in .swarm/events.jsonl); pass [task_id] to scope both phases to one task. Human-only.";
1017
+ readonly details: "Settles stale coder-settlement WALs in .swarm/coder-settlements/ — the CODER_DISPATCH_IN_PROGRESS wedge where a dispatch's completion never fired (issue #2268). Safe mode recovers settlements whose owner process is gone. --force also releases ownership keys held by this process: use only when no dispatch is genuinely running (a late completion then reports CODER_SETTLEMENT_IDEMPOTENCY_CONFLICT, safe to ignore). Never interrupts another live OpenCode process. Also repairs tasks wedged at coder_delegated with unattributed green pre_check evidence — the post-reset TASK_WORKFLOW_STAGE_A_REQUIRED wedge — by writing the missing stage_a_passed transition directly (audit events land in .swarm/events.jsonl); pass [task_id] to scope both phases to one task. Diagnose and repair emit per-category status explanations (missing/stale/ambiguous/corrupt/live_wedge) with shell-correct invocation guidance per host — see docs/troubleshooting/recovery-runbook.md (#2665). Human-only.";
1018
1018
  readonly args: "[task_id] [--force]";
1019
1019
  readonly category: "utility";
1020
1020
  readonly toolPolicy: "human-only";
@@ -19,8 +19,8 @@ export declare const _internals: {
19
19
  };
20
20
  export type { ExecutionProfile, MigrationStatus, Phase, PhaseStatus, Plan, Task, TaskSize, TaskStatus, } from './plan-schema';
21
21
  export { ExecutionProfileSchema, MigrationStatusSchema, PhaseSchema, PhaseStatusSchema, PlanSchema, TaskSchema, TaskSizeSchema, TaskStatusSchema, } from './plan-schema';
22
- export type { AgentOverrideConfig, ApplyPatchConfig, AutomationCapabilities, AutomationConfig, AutomationMode, AutoReviewBurnInDecision, AutoReviewConfig, AutoReviewReleaseContext, GateConfig, GateConfigOverrides, GateSectionName, LeanTurboConfig, MemoryConfig, ModelPricingConfig, PhaseCompleteConfig, PipelineConfig, PluginConfig, PricingConfig, RepoGraphConfig, SkillPropagationConfig, SwarmConfig, TurboConfig, WorktreeIsolationConfig, } from './schema';
23
- export { AgentOverrideConfigSchema, ApplyPatchConfigSchema, AUTO_REVIEW_V8_BURN_IN_DECISION, AutomationCapabilitiesSchema, AutomationConfigSchema, AutomationModeSchema, AutoReviewConfigSchema, GATE_CONFIG_READERS, GATE_SECTION_SCHEMAS, LeanTurboConfigSchema, MemoryConfigSchema, ModelPricingConfigSchema, PhaseCompleteConfigSchema, PipelineConfigSchema, PluginConfigSchema, PricingConfigSchema, RepoGraphConfigSchema, resolveAutoReviewConfig, SkillPropagationConfigSchema, SwarmConfigSchema, TurboConfigSchema, WorktreeIsolationConfigSchema, } from './schema';
22
+ export type { AgentOverrideConfig, ApplyPatchConfig, AutomationCapabilities, AutomationConfig, AutomationMode, AutoReviewBurnInDecision, AutoReviewConfig, AutoReviewReleaseContext, GateConfig, GateConfigOverrides, GateSectionName, LeanTurboConfig, MemoryConfig, ModelPricingConfig, PhaseCompleteConfig, PipelineConfig, PluginConfig, PricingConfig, RepoGraphConfig, ReviewRoutingConfig, SkillPropagationConfig, SwarmConfig, TurboConfig, WorktreeIsolationConfig, } from './schema';
23
+ export { AgentOverrideConfigSchema, ApplyPatchConfigSchema, AUTO_REVIEW_V8_BURN_IN_DECISION, AutomationCapabilitiesSchema, AutomationConfigSchema, AutomationModeSchema, AutoReviewConfigSchema, GATE_CONFIG_READERS, GATE_SECTION_SCHEMAS, LeanTurboConfigSchema, MemoryConfigSchema, ModelPricingConfigSchema, PhaseCompleteConfigSchema, PipelineConfigSchema, PluginConfigSchema, PricingConfigSchema, RepoGraphConfigSchema, ReviewRoutingConfigSchema, resolveAutoReviewConfig, SkillPropagationConfigSchema, SwarmConfigSchema, TurboConfigSchema, WorktreeIsolationConfigSchema, } from './schema';
24
24
  export type { DeltaSpec, Obligation, SpecDelta, SpecRequirement, SpecScenario, SpecSection, SwarmSpec, } from './spec-schema';
25
25
  export { DeltaSpecSchema, ObligationSchema, SpecDeltaSchema, SpecRequirementSchema, SpecScenarioSchema, SpecSectionSchema, SwarmSpecSchema, validateSpecContent, } from './spec-schema';
26
26
  export { resolveWorktreeIsolationConfig } from './worktree-isolation-config';
@@ -422,9 +422,9 @@ export type PipelineConfig = z.infer<typeof PipelineConfigSchema>;
422
422
  export declare const PhaseCompleteConfigSchema: z.ZodObject<{
423
423
  enabled: z.ZodDefault<z.ZodBoolean>;
424
424
  required_agents: z.ZodDefault<z.ZodArray<z.ZodEnum<{
425
- coder: "coder";
426
425
  reviewer: "reviewer";
427
426
  test_engineer: "test_engineer";
427
+ coder: "coder";
428
428
  }>>>;
429
429
  require_docs: z.ZodDefault<z.ZodBoolean>;
430
430
  policy: z.ZodDefault<z.ZodEnum<{
@@ -626,8 +626,8 @@ export declare const GuardrailsConfigSchema: z.ZodObject<{
626
626
  sandbox_macos_enabled: z.ZodOptional<z.ZodBoolean>;
627
627
  sandbox: z.ZodOptional<z.ZodObject<{
628
628
  mode: z.ZodDefault<z.ZodEnum<{
629
- advisory: "advisory";
630
629
  required: "required";
630
+ advisory: "advisory";
631
631
  }>>;
632
632
  require_filesystem: z.ZodDefault<z.ZodBoolean>;
633
633
  require_network: z.ZodDefault<z.ZodBoolean>;
@@ -1429,9 +1429,9 @@ export declare const ParallelizationConfigSchema: z.ZodObject<{
1429
1429
  export type ParallelizationConfig = z.infer<typeof ParallelizationConfigSchema>;
1430
1430
  export declare const WorktreeIsolationConfigSchema: z.ZodObject<{
1431
1431
  policy: z.ZodDefault<z.ZodEnum<{
1432
- auto: "auto";
1433
- disabled: "disabled";
1434
1432
  required: "required";
1433
+ disabled: "disabled";
1434
+ auto: "auto";
1435
1435
  }>>;
1436
1436
  merge_strategy: z.ZodDefault<z.ZodEnum<{
1437
1437
  merge: "merge";
@@ -1929,6 +1929,17 @@ export declare const PrReviewResilienceConfigSchema: z.ZodObject<{
1929
1929
  max_retry_attempts_after_initial: z.ZodDefault<z.ZodNumber>;
1930
1930
  circuit_open_duration_ms: z.ZodDefault<z.ZodNumber>;
1931
1931
  }, z.core.$strict>;
1932
+ /**
1933
+ * Issue #2491 semantic-review routing enforcement. Versioned route receipts
1934
+ * are enabled by default for newly routed Stage-B work. Operators may set the
1935
+ * flag false for a one-release rollback while migrating legacy in-flight
1936
+ * tasks; the route producer still records its outcome either way.
1937
+ */
1938
+ export declare const ReviewRoutingConfigSchema: z.ZodObject<{
1939
+ enforce_receipts: z.ZodDefault<z.ZodBoolean>;
1940
+ }, z.core.$strict>;
1941
+ export type ReviewRoutingConfig = z.infer<typeof ReviewRoutingConfigSchema>;
1942
+ export declare const DEFAULT_REVIEW_ROUTING_CONFIG: ReviewRoutingConfig;
1932
1943
  /**
1933
1944
  * Issue #2506 (G2): the lane-liveness watchdog. Default OFF; each numeric knob
1934
1945
  * disables its own feature at 0. When enabled, `timeout_ms` becomes the ONE
@@ -2032,9 +2043,9 @@ export declare const PluginConfigSchema: z.ZodObject<{
2032
2043
  phase_complete: z.ZodOptional<z.ZodObject<{
2033
2044
  enabled: z.ZodDefault<z.ZodBoolean>;
2034
2045
  required_agents: z.ZodDefault<z.ZodArray<z.ZodEnum<{
2035
- coder: "coder";
2036
2046
  reviewer: "reviewer";
2037
2047
  test_engineer: "test_engineer";
2048
+ coder: "coder";
2038
2049
  }>>>;
2039
2050
  require_docs: z.ZodDefault<z.ZodBoolean>;
2040
2051
  policy: z.ZodDefault<z.ZodEnum<{
@@ -2071,6 +2082,9 @@ export declare const PluginConfigSchema: z.ZodObject<{
2071
2082
  max_retry_attempts_after_initial: z.ZodDefault<z.ZodNumber>;
2072
2083
  circuit_open_duration_ms: z.ZodDefault<z.ZodNumber>;
2073
2084
  }, z.core.$strict>>;
2085
+ review_routing: z.ZodOptional<z.ZodObject<{
2086
+ enforce_receipts: z.ZodDefault<z.ZodBoolean>;
2087
+ }, z.core.$strict>>;
2074
2088
  lane_liveness_watchdog: z.ZodOptional<z.ZodObject<{
2075
2089
  enabled: z.ZodDefault<z.ZodBoolean>;
2076
2090
  timeout_ms: z.ZodDefault<z.ZodNumber>;
@@ -2212,8 +2226,8 @@ export declare const PluginConfigSchema: z.ZodObject<{
2212
2226
  sandbox_macos_enabled: z.ZodOptional<z.ZodBoolean>;
2213
2227
  sandbox: z.ZodOptional<z.ZodObject<{
2214
2228
  mode: z.ZodDefault<z.ZodEnum<{
2215
- advisory: "advisory";
2216
2229
  required: "required";
2230
+ advisory: "advisory";
2217
2231
  }>>;
2218
2232
  require_filesystem: z.ZodDefault<z.ZodBoolean>;
2219
2233
  require_network: z.ZodDefault<z.ZodBoolean>;
@@ -2884,9 +2898,9 @@ export declare const PluginConfigSchema: z.ZodObject<{
2884
2898
  }, z.core.$strip>>;
2885
2899
  worktree: z.ZodOptional<z.ZodObject<{
2886
2900
  policy: z.ZodDefault<z.ZodEnum<{
2887
- auto: "auto";
2888
- disabled: "disabled";
2889
2901
  required: "required";
2902
+ disabled: "disabled";
2903
+ auto: "auto";
2890
2904
  }>>;
2891
2905
  merge_strategy: z.ZodDefault<z.ZodEnum<{
2892
2906
  merge: "merge";
@@ -106,6 +106,8 @@ export declare const _internals: {
106
106
  readonly limits: CoreEventLimits;
107
107
  readonly emitHealth: typeof emitCoreEventsHealth;
108
108
  };
109
+ /** Canonical project-root path for the bounded core-event store. */
110
+ export declare function coreEventsFilePath(directory: string): string;
109
111
  export type CoreEventCoverage = 'complete' | 'truncated' | 'empty';
110
112
  /** The bounded view of the retained window. `text` is manifest-stripped event
111
113
  * lines in append order (possibly starting mid-line when truncated). */
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import type { TaskEvidence, TaskWorkflowTransitionEvent } from '../gate-evidence.js';
3
+ import type { ReviewRouteEvidence } from '../review/routing-enforcement.js';
3
4
  declare const TaskGateRequirementsReceiptSchema: z.ZodObject<{
4
5
  schemaVersion: z.ZodLiteral<1>;
5
6
  taskId: z.ZodString;
@@ -10,11 +11,34 @@ declare const TaskGateRequirementsReceiptSchema: z.ZodObject<{
10
11
  sourceEvent: z.ZodString;
11
12
  sourceTransitionId: z.ZodNullable<z.ZodString>;
12
13
  recordedAt: z.ZodString;
14
+ routeBinding: z.ZodOptional<z.ZodObject<{
15
+ role: z.ZodEnum<{
16
+ reviewer: "reviewer";
17
+ test_engineer: "test_engineer";
18
+ }>;
19
+ identity: z.ZodString;
20
+ sessionId: z.ZodString;
21
+ taskId: z.ZodString;
22
+ slotId: z.ZodString;
23
+ callId: z.ZodString;
24
+ childSessionId: z.ZodString;
25
+ generation: z.ZodNumber;
26
+ }, z.core.$strict>>;
13
27
  previousChainHash: z.ZodNullable<z.ZodString>;
14
28
  chainHash: z.ZodString;
15
29
  }, z.core.$strict>;
16
30
  export type TaskGateRequirementsReceipt = z.infer<typeof TaskGateRequirementsReceiptSchema>;
17
31
  export declare function taskGateRequirementsReceiptPath(directory: string, taskId: string): string;
18
32
  export declare function readTaskGateRequirementsReceipts(directory: string, taskId: string): Promise<TaskGateRequirementsReceipt[]>;
33
+ /** Synchronous twin used by the synchronous Stage-B and status predicates. */
34
+ export declare function readTaskGateRequirementsReceiptsSync(directory: string, taskId: string): TaskGateRequirementsReceipt[];
35
+ /**
36
+ * Reconstructs exact route evidence from the append-only durable requirement
37
+ * chain. A retry for the same call/child/generation replaces that dispatch's
38
+ * row; distinct dispatch identities retain distinct route slots.
39
+ */
40
+ export declare function routeEvidenceFromTaskGateRequirements(receipts: readonly TaskGateRequirementsReceipt[]): ReviewRouteEvidence[];
41
+ /** Positive proof that an evidence chain predates v1 route-bound receipts. */
42
+ export declare function isLegacyTaskGateRequirementsChain(receipts: readonly TaskGateRequirementsReceipt[]): boolean;
19
43
  export declare function appendTaskGateRequirementsReceiptIfNeeded(directory: string, taskId: string, current: TaskEvidence | null, next: TaskEvidence, event: TaskWorkflowTransitionEvent): Promise<void>;
20
44
  export {};
@@ -17,6 +17,7 @@
17
17
  * that requires a protected trust root outside the project workspace.
18
18
  */
19
19
  import { appendTaskGateRequirementsReceiptIfNeeded } from './evidence/task-gate-requirements.js';
20
+ import type { ReviewRouteEvidence } from './review/routing-enforcement.js';
20
21
  import type { TaskWorkflowState } from './state';
21
22
  export declare const _internals: {
22
23
  appendTaskGateRequirementsReceiptIfNeeded: typeof appendTaskGateRequirementsReceiptIfNeeded;
@@ -117,6 +118,15 @@ export type TaskWorkflowTransitionEvent = {
117
118
  type: 'stage_b_completed';
118
119
  gate: 'reviewer' | 'test_engineer';
119
120
  sessionId: string;
121
+ /** Exact v1 route tuple persisted with durable gate requirements evidence. */
122
+ routeBinding?: ReviewRouteEvidence;
123
+ /**
124
+ * The v1 route predicate evaluated over this completion's prospective
125
+ * tuple set. When false, retain the sequential intermediate state even
126
+ * though the role-level gate summary is now present; only true permits
127
+ * the durable Stage-B transition to tests_run.
128
+ */
129
+ routeComplete?: boolean;
120
130
  turbo?: boolean;
121
131
  ensureDefaultStageB?: boolean;
122
132
  expectedGeneration: number;
@@ -206,6 +216,8 @@ export declare function recordGateEvidence(directory: string, taskId: string, ga
206
216
  expectedGeneration?: number;
207
217
  transitionId?: string;
208
218
  ensureDefaultStageB?: boolean;
219
+ routeBinding?: ReviewRouteEvidence;
220
+ routeComplete?: boolean;
209
221
  }): Promise<void>;
210
222
  /**
211
223
  * Compatibility API for a settled non-gate dispatch. Coder callers represent
@@ -12,6 +12,7 @@ import { classifyPrWorkflowGitState, type PrWorkflowGitState } from '../git/pr-w
12
12
  import { type PrReviewReentryAuthorizationRecord, type PrReviewReentryBindingContext, type PrReviewReentryRole } from '../pr-review/authorization.js';
13
13
  import { classifyPrReviewCircuitSignal, type PrReviewCircuitLegacyRecord, type PrReviewCircuitRecordV2, type PrReviewResiliencePolicyRecord, resolvePrReviewResiliencePolicy } from '../pr-review/circuit.js';
14
14
  import { type PrReviewDimensionCancellationRecord, type PrReviewPartialBaseCoverageRecord, type PrReviewReportVerdict, type PrReviewTerminalCoverageSettlement } from '../pr-review/completion.js';
15
+ import { type CriticOutcome } from '../pr-review/finding-policy.js';
15
16
  import { type PrReviewComposablePhase, type PrReviewPhaseComposition, parseCriticVerdict } from '../pr-review/legacy-transcript-adapter.js';
16
17
  import { withPrWorkflowCheckoutMutationLock, workflowCheckoutMutationLockRelativePath, workflowGateStateLockRelativePath, workflowGateStateRelativePath } from '../pr-review/persistence.js';
17
18
  import { classifyLaneLivenessCondition, type EffectivePrLaneHorizon, resolveEffectivePrLaneHorizonMs } from './lane-liveness-watchdog.js';
@@ -603,6 +604,12 @@ export type SubmitPrReviewResultOutcome = {
603
604
  * session that owns the live delegation. Lock order is deliberately
604
605
  * workflow-session -> delegation-evidence; clear/abort takes the same outer
605
606
  * lock and terminalization takes the same inner lock.
607
+ *
608
+ * Issue #2585 (AC13): when the child died before submitting (a
609
+ * liveness-terminal lane per the #2615 typed producers), the lane's
610
+ * DISPATCHING parent session may land exactly one repair receipt; the receipt
611
+ * stays child-bound and carries architect provenance. Every other session
612
+ * keeps the frozen exact-child refusal.
606
613
  */
607
614
  export declare function submitPrReviewResult(directory: string, childSessionId: string, input: {
608
615
  batchId?: string;
@@ -1322,6 +1329,12 @@ export declare function markPrReviewHandoffComplete(directory: string, sessionID
1322
1329
  state: PrWorkflowGateState;
1323
1330
  alreadyOffered: boolean;
1324
1331
  }>;
1332
+ /** Read-only final finding-policy projection for completion reports. */
1333
+ export declare function readPrReviewFinalFindingPolicyForReport(directory: string, sessionID: string): Promise<{
1334
+ policyVersion: 1;
1335
+ permittedVerdicts: readonly PrReviewReportVerdict[];
1336
+ blockingFindingIds: string[];
1337
+ } | null>;
1325
1338
  export declare function transitionPrReviewToFeedback(directory: string, sessionID: string, request: {
1326
1339
  runId: string;
1327
1340
  handoffPath: string;
@@ -1682,6 +1695,12 @@ interface CandidateArtifactParseResult {
1682
1695
  declare function resolvePrReviewRowFamily(workflowLane: string | undefined, mode?: string): RowFormatFamily;
1683
1696
  declare function parseCanonicalCandidateRows(text: string, fallbackFamily: RowFormatFamily): CandidateArtifactParseResult;
1684
1697
  declare function extractCandidateIds(text: string, fallbackFamily: RowFormatFamily, scopeToLanes?: readonly string[]): string[];
1698
+ /** Read the durable critic settlement projection used by terminal readiness. */
1699
+ export declare function readAuthoritativePrReviewCriticSettlements(directory: string, sessionID: string): Promise<Array<{
1700
+ findingId: string;
1701
+ terminal: boolean;
1702
+ status: CriticOutcome;
1703
+ }>>;
1685
1704
  /**
1686
1705
  * **B1 invariant — the accounting defect class's most dangerous recurrence.**
1687
1706
  *
@@ -1708,6 +1727,15 @@ declare function extractCandidateIds(text: string, fallbackFamily: RowFormatFami
1708
1727
  * already computed: no digest resolution, no artifact reads, no subprocess work.
1709
1728
  */
1710
1729
  declare function assertSettledPhaseHasAuthoritativeVerdicts(phase: PrReviewComposablePhase, composed: Pick<PrReviewPhaseComposition, 'requiredInventory' | 'unclaimed'>, authoritative: ReadonlyMap<string, unknown>, origin: string): void;
1730
+ /**
1731
+ * Read the authenticated critic verdict map for artifact adapters. Keeping
1732
+ * this behind the same B1-guarded accessor prevents a caller-supplied policy
1733
+ * field from becoming a second authority for critic settlement.
1734
+ */
1735
+ export declare function readAuthoritativePrReviewCriticVerdicts(directory: string, sessionID: string): Promise<Map<string, {
1736
+ status: string;
1737
+ severity: string;
1738
+ }>>;
1711
1739
  interface ExpectedWorkflowLane {
1712
1740
  laneId: string;
1713
1741
  workflowLane: string;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { Plugin } from '@opencode-ai/plugin';
2
+ import { type SoundingBoardResponse } from './agents/critic.js';
2
3
  import { loadPluginConfigWithMetaAsync } from './config';
3
4
  import { resolveAutoReviewConfig } from './config/schema';
4
5
  import { createRepoGraphBuilderHook } from './hooks';
@@ -18,6 +19,13 @@ export declare function capSessionMap<K, V>(map: Map<K, V>, max: number,
18
19
  * fresh entry can be the oldest and evict itself at the cap — mirroring
19
20
  * the stored-input-args guard). */
20
21
  justInserted?: K): void;
22
+ /**
23
+ * Apply the sounding-board response contract at the host handoff boundary.
24
+ * Missing/malformed category metadata may never preserve UNNECESSARY: the
25
+ * response is surfaced as APPROVED with an observable warning. A caller-owned
26
+ * category is passed separately so a model cannot relabel a sticky decision.
27
+ */
28
+ export declare function applySoundingBoardResponsePolicy(rawResponse: string, args?: unknown): SoundingBoardResponse | null;
21
29
  /** @internal — test-only: clears delegation-telemetry pairing state so one
22
30
  * test's unconsumed entries (e.g. a before with no matching after) cannot
23
31
  * leak into the next. Mirrors resetTelemetryForTesting / resetSwarmState. */