opencode-swarm 7.188.12 → 7.190.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 (177) hide show
  1. package/README.md +42 -6
  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/architect.d.ts +1 -1
  5. package/dist/background/completion-observer.d.ts +6 -0
  6. package/dist/cli/{auto-checkpoint-4g963859.js → auto-checkpoint-qvk04fya.js} +9 -9
  7. package/dist/cli/{checkpoint-y9nbjper.js → checkpoint-9q2r5c3j.js} +18 -20
  8. package/dist/cli/{coder-settlement-q8ea2jkw.js → coder-settlement-xcparbf3.js} +13 -13
  9. package/dist/cli/{config-doctor-4v5m6v30.js → config-doctor-by0ak49m.js} +23 -20
  10. package/dist/cli/{core-879105xb.js → core-b1b3kxzy.js} +4 -4
  11. package/dist/cli/{curation-policy-65ckmmd5.js → curation-policy-6p6fcfjb.js} +6 -6
  12. package/dist/cli/{curator-t7g3hamd.js → curator-d7b88mzr.js} +44 -44
  13. package/dist/cli/{curator-drift-satfdnp2.js → curator-drift-6v604220.js} +9 -9
  14. package/dist/cli/curator-llm-factory-yvbktznk.js +82 -0
  15. package/dist/cli/{doctor-knowledge-receipt-phase-id-y3ft2v24.js → doctor-knowledge-receipt-phase-id-kwrvnps9.js} +9 -9
  16. package/dist/cli/{evidence-summary-service-56rqzmrf.js → evidence-summary-service-mzr2q4bn.js} +21 -22
  17. package/dist/cli/{gate-evidence-zzmgph9z.js → gate-evidence-78jes9kq.js} +8 -8
  18. package/dist/cli/guardrail-explain-8kt2mxmw.js +83 -0
  19. package/dist/cli/{guardrail-log-sxv7q0xw.js → guardrail-log-2sthykag.js} +8 -8
  20. package/dist/cli/{guardrail-reset-37cr442b.js → guardrail-reset-2n746rzv.js} +44 -44
  21. package/dist/cli/{hive-promoter-hyeta8d6.js → hive-promoter-s7a5gwhz.js} +44 -44
  22. package/dist/cli/{index-e638qt2d.js → index-0qc7a88d.js} +3 -3
  23. package/dist/cli/{index-kap0d52p.js → index-1s95jrgc.js} +3 -3
  24. package/dist/cli/{index-9tvjwv01.js → index-2fpv2wmc.js} +1 -1
  25. package/dist/cli/{index-jgr1rsr1.js → index-2kpqqcch.js} +4 -4
  26. package/dist/cli/{index-msvf6p5y.js → index-3t9t9q2q.js} +44 -44
  27. package/dist/cli/{index-8q8783g0.js → index-3zwhxk98.js} +1 -1
  28. package/dist/cli/{index-0b172h6r.js → index-49e65y51.js} +5 -5
  29. package/dist/cli/{index-5pafc9x6.js → index-69tgdm9t.js} +18 -8
  30. package/dist/cli/{index-d3rjvm9e.js → index-7vnr5cmp.js} +2 -2
  31. package/dist/cli/{index-twb3f4tk.js → index-8bx6vhzk.js} +1 -1
  32. package/dist/cli/{index-84pwb6cz.js → index-9gcqmgbc.js} +5 -5
  33. package/dist/cli/{index-9sps637v.js → index-9xxqdzp4.js} +4 -4
  34. package/dist/cli/{index-j0qep2zr.js → index-a5ca62vt.js} +1 -1
  35. package/dist/cli/{index-xy2403g9.js → index-ajzgeb2s.js} +2 -2
  36. package/dist/cli/{index-8xabhfwr.js → index-b2j231jy.js} +2 -2
  37. package/dist/cli/{index-19yt5p2t.js → index-dmq7p8s9.js} +6 -6
  38. package/dist/cli/{index-95pzyv9a.js → index-ej1hdw16.js} +5 -5
  39. package/dist/cli/{index-1krdj1sc.js → index-ejk34dnw.js} +127 -13
  40. package/dist/cli/{index-tbyvvq50.js → index-fb5s32c2.js} +862 -1221
  41. package/dist/cli/{index-ntda6tje.js → index-feaxsjrt.js} +10 -2
  42. package/dist/cli/{index-94fgbb34.js → index-ffgcdf49.js} +22147 -15396
  43. package/dist/cli/{index-fhtcx5ag.js → index-h0xhec3d.js} +4 -4
  44. package/dist/cli/{index-kaqdzhj3.js → index-kfevm0n5.js} +2 -2
  45. package/dist/cli/{index-z7gakzb5.js → index-kp8k95v9.js} +4 -4
  46. package/dist/cli/{index-x1eh2636.js → index-mcv0v2dp.js} +1 -1
  47. package/dist/cli/{index-9czp2dcg.js → index-mjfpaxw3.js} +7 -7
  48. package/dist/cli/{index-tmn4pf7q.js → index-mp1s7b0n.js} +7 -7
  49. package/dist/cli/{index-f0jn2nvs.js → index-mseerehd.js} +26 -10
  50. package/dist/cli/{index-f6exny9m.js → index-n8q43eff.js} +2 -2
  51. package/dist/cli/{index-7hr5m7yp.js → index-nkgzkt7c.js} +1 -1
  52. package/dist/cli/{index-8jy605yf.js → index-npe10823.js} +7 -7
  53. package/dist/cli/{index-yc0y5fjt.js → index-p69k8v0e.js} +1 -1
  54. package/dist/cli/{index-p2tqzwh6.js → index-qs9myayh.js} +5 -10
  55. package/dist/cli/{index-hh7pa3yk.js → index-r9yvpr2m.js} +2 -2
  56. package/dist/cli/{index-qha2p47y.js → index-rgkzcw2a.js} +5 -5
  57. package/dist/cli/{index-zfbxfm2m.js → index-s8b67e6h.js} +33 -12
  58. package/dist/cli/{index-m3hhaf61.js → index-s92a5ta3.js} +4 -4
  59. package/dist/cli/{index-dd6p8xb5.js → index-sm01zpqe.js} +46 -46
  60. package/dist/cli/{index-q9kefh33.js → index-sxj143a4.js} +1 -1
  61. package/dist/cli/{index-2h13hjbf.js → index-t0gj8s46.js} +77 -16
  62. package/dist/cli/{index-3dqazqk4.js → index-t73adn9b.js} +2 -2
  63. package/dist/cli/{index-5cksakjf.js → index-tkhenmms.js} +101 -13
  64. package/dist/cli/{index-zsrtt42s.js → index-v3bmwmqw.js} +25 -1
  65. package/dist/cli/{index-w9tfb0am.js → index-vhn4e6rm.js} +7 -7
  66. package/dist/cli/{index-yjjyapbf.js → index-xyvrfram.js} +2 -2
  67. package/dist/cli/{index-k8sarme1.js → index-y9v41185.js} +1 -1
  68. package/dist/cli/{index-1xa8wq76.js → index-z3ahy9c2.js} +2 -2
  69. package/dist/cli/{index-wrdktgpy.js → index-zk6ttjkt.js} +2 -2
  70. package/dist/cli/{index-7z2pxxye.js → index-zyg1m9d0.js} +4 -4
  71. package/dist/cli/index.js +45 -45
  72. package/dist/cli/{knowledge-escalator-dzd35eb3.js → knowledge-escalator-n1ezv1zp.js} +15 -15
  73. package/dist/cli/{knowledge-events-wkr5ne5f.js → knowledge-events-nyqk3mr7.js} +13 -13
  74. package/dist/cli/{knowledge-link-h4pdcnya.js → knowledge-link-6hw3z6wn.js} +5 -5
  75. package/dist/cli/{knowledge-store-sme6sqrb.js → knowledge-store-mnxqcyet.js} +6 -6
  76. package/dist/cli/{knowledge-validator-jgzeawa8.js → knowledge-validator-z30113mp.js} +8 -8
  77. package/dist/cli/{mcp-egrbh8na.js → mcp-mnbqw2s5.js} +1 -1
  78. package/dist/cli/{model-preflight-h7azh4m4.js → model-preflight-ex482fsy.js} +44 -44
  79. package/dist/cli/{pending-delegations-pg284vsk.js → pending-delegations-j18afz5z.js} +12 -12
  80. package/dist/cli/{pr-subscriptions-hzc4fg25.js → pr-subscriptions-yngda8mz.js} +12 -12
  81. package/dist/cli/{pr-workflow-gate-j3r3g3q7.js → pr-workflow-gate-0vt614f0.js} +44 -44
  82. package/dist/cli/{runner-4hfmp1ag.js → runner-ssnsje35.js} +6 -6
  83. package/dist/cli/{scan-cursor-zg0a56c1.js → scan-cursor-8pwfg5g9.js} +7 -7
  84. package/dist/cli/{schema-p246rqkt.js → schema-e58ytmqt.js} +14 -2
  85. package/dist/cli/{scope-persistence-7qtsmx5c.js → scope-persistence-9qfx6ext.js} +16 -16
  86. package/dist/cli/{server-twhpwhgq.js → server-wxcfwsdx.js} +45 -45
  87. package/dist/cli/{skill-generator-7vfbmyrw.js → skill-generator-tbd4tq9r.js} +17 -17
  88. package/dist/cli/{snapshot-coordination-init-050hf69t.js → snapshot-coordination-init-sckyzb94.js} +44 -44
  89. package/dist/cli/{speckit-checkoff-d3v522cb.js → speckit-checkoff-k5jm0abh.js} +5 -5
  90. package/dist/cli/{telemetry-kvhe94gs.js → telemetry-9szfdfqv.js} +1 -1
  91. package/dist/cli/{workspace-snapshot-30kdf018.js → workspace-snapshot-9f12p1s1.js} +3 -3
  92. package/dist/cli/{worktree-collision-ownership-yy1tp8t9.js → worktree-collision-ownership-3wwfc72t.js} +14 -14
  93. package/dist/cli/{worktree-isolation-e56skbfw.js → worktree-isolation-zfk7zk6a.js} +46 -44
  94. package/dist/commands/coupling.d.ts +21 -4
  95. package/dist/commands/epic-learning.d.ts +28 -0
  96. package/dist/commands/epic.d.ts +81 -36
  97. package/dist/commands/registry.d.ts +8 -8
  98. package/dist/commands/turbo.d.ts +16 -1
  99. package/dist/config/constants.d.ts +11 -1
  100. package/dist/config/loader.d.ts +2 -0
  101. package/dist/config/schema.d.ts +291 -77
  102. package/dist/db/coordination-store.d.ts +6 -0
  103. package/dist/epic/close.d.ts +209 -0
  104. package/dist/{turbo/epic → epic}/cochange-conflict.d.ts +5 -4
  105. package/dist/{turbo/epic → epic}/cochange-source.d.ts +10 -1
  106. package/dist/epic/components.d.ts +238 -0
  107. package/dist/epic/config-gate.d.ts +25 -0
  108. package/dist/epic/config.d.ts +101 -0
  109. package/dist/{turbo/epic → epic}/coupling-report.d.ts +3 -1
  110. package/dist/epic/declared-scopes.d.ts +37 -0
  111. package/dist/epic/epic-branch.d.ts +157 -0
  112. package/dist/epic/gate-policy.d.ts +114 -0
  113. package/dist/epic/git-once.d.ts +26 -0
  114. package/dist/epic/learning-store.d.ts +176 -0
  115. package/dist/epic/learning.d.ts +198 -0
  116. package/dist/epic/legacy-migration.d.ts +26 -0
  117. package/dist/epic/lifecycle.d.ts +437 -0
  118. package/dist/epic/markers.d.ts +123 -0
  119. package/dist/epic/merge-epoch.d.ts +90 -0
  120. package/dist/epic/next-wave-format.d.ts +101 -0
  121. package/dist/epic/next-wave.d.ts +102 -0
  122. package/dist/epic/phase-readiness.d.ts +221 -0
  123. package/dist/epic/plan-key.d.ts +104 -0
  124. package/dist/epic/plan-shaping-seam.d.ts +112 -0
  125. package/dist/epic/planning-signals.d.ts +38 -0
  126. package/dist/epic/report.d.ts +152 -0
  127. package/dist/epic/residue-commit.d.ts +151 -0
  128. package/dist/epic/scorecard.d.ts +130 -0
  129. package/dist/epic/shaping-sizing.d.ts +108 -0
  130. package/dist/epic/shaping-suggestions.d.ts +172 -0
  131. package/dist/epic/shaping.d.ts +112 -0
  132. package/dist/epic/sizing.d.ts +60 -0
  133. package/dist/epic/start.d.ts +187 -0
  134. package/dist/epic/task-landing.d.ts +83 -0
  135. package/dist/epic/wave-close.d.ts +112 -0
  136. package/dist/epic/wave-select.d.ts +95 -0
  137. package/dist/evaluation/contracts.d.ts +1 -1
  138. package/dist/evaluation/public-api.d.ts +1 -1
  139. package/dist/full-auto/policy.d.ts +12 -1
  140. package/dist/hooks/delegation-gate/worktree-isolation.d.ts +16 -0
  141. package/dist/hooks/delegation-gate.d.ts +11 -0
  142. package/dist/hooks/guardrails/index.d.ts +7 -0
  143. package/dist/hooks/promotion-evidence-store.d.ts +2 -2
  144. package/dist/index.js +814 -807
  145. package/dist/plan/manager.d.ts +6 -8
  146. package/dist/plan/parallel-verdict.d.ts +13 -2
  147. package/dist/retention/caps.d.ts +1 -1
  148. package/dist/review/contracts.d.ts +8 -1
  149. package/dist/services/config-doctor.d.ts +38 -0
  150. package/dist/session/snapshot-reader.d.ts +2 -0
  151. package/dist/session/snapshot-writer.d.ts +13 -2
  152. package/dist/state.d.ts +13 -18
  153. package/dist/tools/epic-next-wave.d.ts +20 -0
  154. package/dist/tools/epic-phase-review.d.ts +43 -0
  155. package/dist/tools/index.d.ts +2 -3
  156. package/dist/tools/manifest.d.ts +2 -3
  157. package/dist/tools/phase-complete.d.ts +5 -1
  158. package/dist/tools/save-plan.d.ts +7 -0
  159. package/dist/tools/tool-metadata.d.ts +4 -8
  160. package/dist/worktree/merge.d.ts +14 -1
  161. package/opencode-swarm.schema.json +273 -28
  162. package/package.json +1 -1
  163. package/dist/cli/curator-llm-factory-fx1qnpsh.js +0 -82
  164. package/dist/cli/guardrail-explain-g03manbh.js +0 -83
  165. package/dist/tools/epic-plan-waves.d.ts +0 -79
  166. package/dist/tools/epic-record-divergence.d.ts +0 -73
  167. package/dist/tools/epic-run-phase.d.ts +0 -179
  168. package/dist/turbo/epic/activation.d.ts +0 -193
  169. package/dist/turbo/epic/calibration-engine.d.ts +0 -88
  170. package/dist/turbo/epic/calibration.d.ts +0 -80
  171. package/dist/turbo/epic/divergence-recorder.d.ts +0 -123
  172. package/dist/turbo/epic/index.d.ts +0 -24
  173. package/dist/turbo/epic/promotion-evidence.d.ts +0 -42
  174. package/dist/turbo/epic/state.d.ts +0 -69
  175. package/dist/turbo/epic/task-commit.d.ts +0 -110
  176. package/dist/turbo/epic/upstream-commits.d.ts +0 -82
  177. package/dist/turbo/epic/wave-planner.d.ts +0 -83
@@ -1,16 +1,16 @@
1
1
  // @bun
2
2
  import {
3
3
  queryHistoricalOutcomes
4
- } from "./index-0b172h6r.js";
4
+ } from "./index-49e65y51.js";
5
5
  import {
6
6
  resolveHiveEventsPath
7
7
  } from "./index-ae75rja9.js";
8
8
  import {
9
9
  resolveKnowledgeStoreDir
10
- } from "./index-8q8783g0.js";
10
+ } from "./index-3zwhxk98.js";
11
11
  import {
12
12
  atomicWriteFile
13
- } from "./index-hh7pa3yk.js";
13
+ } from "./index-r9yvpr2m.js";
14
14
  import {
15
15
  canonicalRootKey
16
16
  } from "./index-fzpt2djt.js";
@@ -708,7 +708,7 @@ async function applyKnowledgeVerdictFeedback(directory, options) {
708
708
  }
709
709
  let bumps = 0;
710
710
  if (deltas.length > 0) {
711
- const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-sme6sqrb.js");
711
+ const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-mnxqcyet.js");
712
712
  bumps = await bumpKnowledgeConfidenceBatch(directory, deltas, options?.floorOptions);
713
713
  }
714
714
  return {
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-7hr5m7yp.js";
4
+ } from "./index-nkgzkt7c.js";
5
5
  import {
6
6
  bunSpawn
7
7
  } from "./index-2s7dvzff.js";
@@ -11,7 +11,7 @@ import {
11
11
  } from "./index-fzpt2djt.js";
12
12
  import {
13
13
  atomicWriteSwarmFile
14
- } from "./index-p2tqzwh6.js";
14
+ } from "./index-qs9myayh.js";
15
15
  import {
16
16
  init_git_executable,
17
17
  resolveGitExecutable
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  _internals,
4
4
  resolveWorktreeIsolationConfig
5
- } from "./index-kap0d52p.js";
5
+ } from "./index-1s95jrgc.js";
6
6
  import {
7
7
  ApprovalEvidenceSchema,
8
8
  BaseEvidenceSchema,
@@ -46,7 +46,7 @@ import {
46
46
  loadPluginConfigWithMeta,
47
47
  loadPluginConfigWithMetaAsync,
48
48
  resetConfigAdvisoryDedup
49
- } from "./index-1krdj1sc.js";
49
+ } from "./index-ejk34dnw.js";
50
50
  import"./index-zxdawwc7.js";
51
51
  import {
52
52
  AUTO_REVIEW_V8_BURN_IN_DECISION,
@@ -72,7 +72,7 @@ import {
72
72
  TurboConfigSchema,
73
73
  WorktreeIsolationConfigSchema,
74
74
  resolveAutoReviewConfig
75
- } from "./index-2h13hjbf.js";
75
+ } from "./index-t0gj8s46.js";
76
76
  import {
77
77
  ALL_AGENT_NAMES,
78
78
  ALL_SUBAGENT_NAMES,
@@ -82,7 +82,7 @@ import {
82
82
  QA_AGENTS,
83
83
  isQAAgent,
84
84
  isSubagent
85
- } from "./index-zfbxfm2m.js";
85
+ } from "./index-s8b67e6h.js";
86
86
  import"./index-bk5tah7q.js";
87
87
  import"./index-gknz3bv1.js";
88
88
  import"./index-zpsr8rpc.js";
@@ -4,7 +4,7 @@ import {
4
4
  getProjectDb,
5
5
  projectDbExists,
6
6
  withImmediateTransaction
7
- } from "./index-9tvjwv01.js";
7
+ } from "./index-2fpv2wmc.js";
8
8
  import {
9
9
  derivePlanId,
10
10
  derivePlanIdentityHash
@@ -1,27 +1,27 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-7hr5m7yp.js";
4
+ } from "./index-nkgzkt7c.js";
5
5
  import {
6
6
  deleteCoordinationState,
7
7
  importCoordinationOnce,
8
8
  listCoordinationStates,
9
9
  transitionCoordinationState,
10
10
  withCoordinationTransaction
11
- } from "./index-ntda6tje.js";
11
+ } from "./index-feaxsjrt.js";
12
12
  import {
13
13
  getProjectDb,
14
14
  projectDbExists
15
- } from "./index-9tvjwv01.js";
15
+ } from "./index-2fpv2wmc.js";
16
16
  import {
17
17
  observeStoreHealth
18
- } from "./index-1xa8wq76.js";
18
+ } from "./index-z3ahy9c2.js";
19
19
  import {
20
20
  withEvidenceLock
21
- } from "./index-twb3f4tk.js";
21
+ } from "./index-8bx6vhzk.js";
22
22
  import {
23
23
  telemetry
24
- } from "./index-d3rjvm9e.js";
24
+ } from "./index-7vnr5cmp.js";
25
25
  import {
26
26
  canonicalRootKey,
27
27
  canonicalRootKeyFresh,
@@ -29,7 +29,7 @@ import {
29
29
  } from "./index-fzpt2djt.js";
30
30
  import {
31
31
  atomicWriteSwarmFileSync
32
- } from "./index-p2tqzwh6.js";
32
+ } from "./index-qs9myayh.js";
33
33
  import {
34
34
  exports_external,
35
35
  init_zod
@@ -11,16 +11,16 @@ import {
11
11
  } from "./index-ae75rja9.js";
12
12
  import {
13
13
  resolveKnowledgeStoreDir
14
- } from "./index-8q8783g0.js";
14
+ } from "./index-3zwhxk98.js";
15
15
  import {
16
16
  atomicWriteFile
17
- } from "./index-hh7pa3yk.js";
17
+ } from "./index-r9yvpr2m.js";
18
18
  import {
19
19
  require_proper_lockfile
20
20
  } from "./index-7g4c7s5r.js";
21
21
  import {
22
22
  readCachedParsedFile
23
- } from "./index-p2tqzwh6.js";
23
+ } from "./index-qs9myayh.js";
24
24
  import {
25
25
  init_knowledge_types,
26
26
  isActiveStatus
@@ -739,7 +739,7 @@ async function applyConfidenceFloorAction(directory, touched, options) {
739
739
  const {
740
740
  readAuthoritativeKnowledgeCounterRollups,
741
741
  effectiveRetrievalOutcomes
742
- } = await import("./knowledge-events-wkr5ne5f.js");
742
+ } = await import("./knowledge-events-nyqk3mr7.js");
743
743
  const rollups = await readAuthoritativeKnowledgeCounterRollups(directory);
744
744
  const flagIds = new Set;
745
745
  for (const e of atFloor) {
@@ -806,11 +806,11 @@ async function applyConfidenceFloorAction(directory, touched, options) {
806
806
  });
807
807
  }
808
808
  if (action === "quarantine" && toQuarantine.length > 0) {
809
- const { quarantineEntry } = await import("./knowledge-validator-jgzeawa8.js");
810
- const { KnowledgeConfigSchema } = await import("./schema-p246rqkt.js");
809
+ const { quarantineEntry } = await import("./knowledge-validator-z30113mp.js");
810
+ const { KnowledgeConfigSchema } = await import("./schema-e58ytmqt.js");
811
811
  let config;
812
812
  try {
813
- const { loadPluginConfigWithMeta } = await import("./index-z7gakzb5.js");
813
+ const { loadPluginConfigWithMeta } = await import("./index-kp8k95v9.js");
814
814
  const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
815
815
  config = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
816
816
  } catch {
@@ -1,13 +1,10 @@
1
1
  // @bun
2
2
  import {
3
- MAX_TRANSIENT_RETRIES,
4
3
  buildTaskCompletionDescriptor,
5
4
  ensureTaskCheckpointReceipt,
6
- isTransientSpawnError,
7
5
  loadPlan,
8
- transientBackoff,
9
6
  updateTaskCheckpointReceipt
10
- } from "./index-tbyvvq50.js";
7
+ } from "./index-fb5s32c2.js";
11
8
  import {
12
9
  tool
13
10
  } from "./index-9nyqt3kb.js";
@@ -20,13 +17,13 @@ import {
20
17
  } from "./index-g4fs6z4e.js";
21
18
  import {
22
19
  validateSwarmPath
23
- } from "./index-7hr5m7yp.js";
20
+ } from "./index-nkgzkt7c.js";
24
21
  import {
25
22
  readLedgerEvents
26
- } from "./index-95pzyv9a.js";
23
+ } from "./index-ej1hdw16.js";
27
24
  import {
28
25
  appendCoreEventSync
29
- } from "./index-wrdktgpy.js";
26
+ } from "./index-zk6ttjkt.js";
30
27
  import {
31
28
  derivePlanId,
32
29
  derivePlanIdentityHash
@@ -41,10 +38,10 @@ import {
41
38
  } from "./index-ejhxgyvm.js";
42
39
  import {
43
40
  atomicWriteSwarmFileSync
44
- } from "./index-p2tqzwh6.js";
41
+ } from "./index-qs9myayh.js";
45
42
  import {
46
43
  loadPluginConfigWithMeta
47
- } from "./index-1krdj1sc.js";
44
+ } from "./index-ejk34dnw.js";
48
45
  import {
49
46
  init_git_executable,
50
47
  resolveGitExecutable
@@ -550,6 +547,25 @@ function measureGitDestruction(directory, targetSha) {
550
547
  // src/tools/checkpoint.ts
551
548
  init_git_executable();
552
549
 
550
+ // src/utils/transient-retry.ts
551
+ var MAX_TRANSIENT_RETRIES = 5;
552
+ var RETRY_BASE_DELAY_MS = 200;
553
+ function isTransientSpawnError(error) {
554
+ if (!error || typeof error !== "object")
555
+ return false;
556
+ const code = error.code;
557
+ return code === "ETIMEDOUT";
558
+ }
559
+ function transientBackoff(attempt) {
560
+ const delay = RETRY_BASE_DELAY_MS * 2 ** attempt;
561
+ try {
562
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, delay);
563
+ } catch {
564
+ const start = Date.now();
565
+ while (Date.now() - start < delay) {}
566
+ }
567
+ }
568
+
553
569
  // src/tools/create-tool.ts
554
570
  init_zod();
555
571
 
@@ -1515,4 +1531,4 @@ var checkpoint = createSwarmTool({
1515
1531
  }
1516
1532
  });
1517
1533
 
1518
- export { GIT_STATUS_ARGS, parseTrackedDirtyPaths, recheckBeforeDestructive, previewDestructivePurge, issueConfirmToken, consumeConfirmToken, executeDestructivePurge, backupSwarmStateBeforeReset, ROLLBACK_GIT_KIND, ROLLBACK_PHASE_KIND, trackedDirtyCandidates, swarmOverwriteCandidates, measureGitDestruction, resolveWorkingDirectory, createSwarmTool, _internals2 as _internals, saveCheckpointRecord, checkpoint };
1534
+ export { MAX_TRANSIENT_RETRIES, isTransientSpawnError, transientBackoff, GIT_STATUS_ARGS, parseTrackedDirtyPaths, recheckBeforeDestructive, previewDestructivePurge, issueConfirmToken, consumeConfirmToken, executeDestructivePurge, backupSwarmStateBeforeReset, ROLLBACK_GIT_KIND, ROLLBACK_PHASE_KIND, trackedDirtyCandidates, swarmOverwriteCandidates, measureGitDestruction, resolveWorkingDirectory, createSwarmTool, _internals2 as _internals, saveCheckpointRecord, checkpoint };
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-7hr5m7yp.js";
4
+ } from "./index-nkgzkt7c.js";
5
5
  import {
6
6
  atomicWriteSwarmFileSync
7
- } from "./index-p2tqzwh6.js";
7
+ } from "./index-qs9myayh.js";
8
8
 
9
9
  // src/hooks/delegation-gate/worktree-provisioning-owner.ts
10
10
  import { createHash } from "crypto";
@@ -10,7 +10,7 @@ import {
10
10
  readCachedTextFile,
11
11
  wasObservedToExist,
12
12
  wasRecentlyWrittenByThisProcess
13
- } from "./index-p2tqzwh6.js";
13
+ } from "./index-qs9myayh.js";
14
14
  import {
15
15
  warn
16
16
  } from "./index-zgwm4ryv.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-7hr5m7yp.js";
4
+ } from "./index-nkgzkt7c.js";
5
5
  import {
6
6
  bunWrite
7
7
  } from "./index-2s7dvzff.js";
@@ -18,21 +18,21 @@ import {
18
18
  releaseCoordinationLease,
19
19
  transitionCoordinationState,
20
20
  withCoordinationTransaction
21
- } from "./index-ntda6tje.js";
21
+ } from "./index-feaxsjrt.js";
22
22
  import {
23
23
  getProjectDb,
24
24
  projectDbExists
25
- } from "./index-9tvjwv01.js";
25
+ } from "./index-2fpv2wmc.js";
26
26
  import {
27
27
  observeDelegationLedgerPressure
28
- } from "./index-1xa8wq76.js";
28
+ } from "./index-z3ahy9c2.js";
29
29
  import {
30
30
  EvidenceLockTimeoutError,
31
31
  withEvidenceLock
32
- } from "./index-twb3f4tk.js";
32
+ } from "./index-8bx6vhzk.js";
33
33
  import {
34
34
  telemetry
35
- } from "./index-d3rjvm9e.js";
35
+ } from "./index-7vnr5cmp.js";
36
36
  import {
37
37
  canonicalRootKeyFresh,
38
38
  sameProjectRoot
@@ -4735,7 +4735,7 @@ async function reconcileLegacyCoderSettlements(directory, maxRecords, onReconcil
4735
4735
  const candidates = readDelegations(directory).filter((record) => record.normalizedAgent === "coder" && Boolean(record.legacyCoderSettlementTransfer) && Boolean(record.terminalResult)).slice(0, maxRecords);
4736
4736
  if (candidates.length === 0)
4737
4737
  return 0;
4738
- const { transferCoderSettlementToBackground } = await import("./coder-settlement-q8ea2jkw.js");
4738
+ const { transferCoderSettlementToBackground } = await import("./coder-settlement-xcparbf3.js");
4739
4739
  let transferred = 0;
4740
4740
  for (const record of candidates) {
4741
4741
  try {
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  writeSpeckitCheckoffLedger
4
- } from "./index-yjjyapbf.js";
4
+ } from "./index-xyvrfram.js";
5
5
  import {
6
6
  validateSpecContent
7
7
  } from "./index-0725jpp7.js";
@@ -229,9 +229,9 @@ var SWARM_TEMP_GRAMMARS = [
229
229
  "src/evidence/task-file.ts (pre-#2035; migrated-to=src/evidence/task-file.ts:atomicWriteFile)",
230
230
  "src/scope/scope-persistence.ts (pre-#2035; migrated-to=src/scope/scope-persistence.ts:atomicWrite)",
231
231
  "src/scope/scope-persistence.ts (pre-#2035; migrated-to=src/scope/scope-persistence.ts:atomicWriteSync)",
232
- "src/plan/manager.ts:695",
233
- "src/plan/manager.ts:2122",
234
- "src/plan/manager.ts:2182",
232
+ "src/plan/manager.ts:688",
233
+ "src/plan/manager.ts:2115",
234
+ "src/plan/manager.ts:2175",
235
235
  "src/review/evidence.ts:179",
236
236
  "src/turbo/lean/evidence.ts:182",
237
237
  "src/summaries/manager.ts:163",
@@ -251,7 +251,6 @@ var SWARM_TEMP_GRAMMARS = [
251
251
  "src/services/synonym-map.ts:389",
252
252
  "src/services/skill-optimizer/store.ts:340",
253
253
  "src/services/skill-optimizer/store.ts:503",
254
- "src/turbo/epic/calibration.ts:234",
255
254
  "src/commands/archive-sqlite.ts:318",
256
255
  "src/memory/jsonl-migration.ts:161"
257
256
  ],
@@ -291,8 +290,7 @@ var SWARM_TEMP_GRAMMARS = [
291
290
  "src/tools/submit-phase-council-verdicts.ts:458",
292
291
  "src/summaries/store.ts (pre-#2035; migrated-to=src/summaries/store.ts:writeRawSidecar)",
293
292
  "src/retention/jsonl-cap.ts:213",
294
- "src/services/skill-changelog.ts:58",
295
- "src/turbo/epic/divergence-recorder.ts:108"
293
+ "src/services/skill-changelog.ts:58"
296
294
  ],
297
295
  note: "background lane/delegation stores keep bounded-retry rename semantics wired into their callers (#2034/#2276 delivery contracts); migration candidates for a follow-up but grammars registered"
298
296
  },
@@ -361,7 +359,7 @@ var SWARM_TEMP_GRAMMARS = [
361
359
  token: "instance",
362
360
  quarantineEligible: true,
363
361
  parsesTarget: true,
364
- producers: ["src/plan/manager.ts:2381", "src/plan/manager.ts:2443"],
362
+ producers: ["src/plan/manager.ts:2374", "src/plan/manager.ts:2436"],
365
363
  note: "plan-durability (invariant 5) fd-write paths; grammars registered, writers unchanged in this PR"
366
364
  },
367
365
  {
@@ -464,7 +462,6 @@ var WRITER_CLASSIFICATION = Object.freeze({
464
462
  "src/observability/otlp-exporter.ts": "registered-bespoke",
465
463
  "src/retention/jsonl-cap.ts": "registered-bespoke",
466
464
  "src/services/skill-changelog.ts": "registered-bespoke",
467
- "src/turbo/epic/divergence-recorder.ts": "registered-bespoke",
468
465
  "src/background/delegation-health.ts": "registered-bespoke",
469
466
  "src/background/lane-output-store.ts": "registered-bespoke",
470
467
  "src/background/pending-delegations.ts": "registered-bespoke",
@@ -503,8 +500,6 @@ var WRITER_CLASSIFICATION = Object.freeze({
503
500
  "src/session/snapshot-writer.ts": "registered-bespoke",
504
501
  "src/summaries/manager.ts": "registered-bespoke",
505
502
  "src/test-impact/history-store.ts": "registered-bespoke",
506
- "src/turbo/epic/calibration.ts": "registered-bespoke",
507
- "src/turbo/epic/state.ts": "registered-bespoke",
508
503
  "src/turbo/lean/evidence.ts": "registered-bespoke",
509
504
  "src/turbo/lean/integration.ts": "registered-bespoke",
510
505
  "src/turbo/lean/recovery.ts": "registered-bespoke",
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  withEvidenceLock
4
- } from "./index-twb3f4tk.js";
4
+ } from "./index-8bx6vhzk.js";
5
5
  import {
6
6
  atomicWriteFileAnyRoot
7
- } from "./index-p2tqzwh6.js";
7
+ } from "./index-qs9myayh.js";
8
8
 
9
9
  // src/evidence/task-file.ts
10
10
  import * as path from "path";
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  computePlanStructureHash
4
- } from "./index-95pzyv9a.js";
4
+ } from "./index-ej1hdw16.js";
5
5
  import {
6
6
  appendCoreEventSync
7
- } from "./index-wrdktgpy.js";
7
+ } from "./index-zk6ttjkt.js";
8
8
  import {
9
9
  deleteCoordinationState,
10
10
  importCoordinationOnce,
@@ -12,10 +12,10 @@ import {
12
12
  transitionCoordinationState,
13
13
  transitionCoordinationStateWithinTransaction,
14
14
  withCoordinationTransaction
15
- } from "./index-ntda6tje.js";
15
+ } from "./index-feaxsjrt.js";
16
16
  import {
17
17
  getProjectDb
18
- } from "./index-9tvjwv01.js";
18
+ } from "./index-2fpv2wmc.js";
19
19
  import {
20
20
  canonicalExistingFilesystemPath,
21
21
  legacyCanonicalExistingFilesystemPath
@@ -32,7 +32,7 @@ import {
32
32
  import {
33
33
  atomicWriteSwarmFile,
34
34
  atomicWriteSwarmFileSync
35
- } from "./index-p2tqzwh6.js";
35
+ } from "./index-qs9myayh.js";
36
36
  import {
37
37
  PlanSchema
38
38
  } from "./index-gx2vp8gx.js";
@@ -932,17 +932,13 @@ var init_tool_metadata = __esm(() => {
932
932
  description: "Revoke a previously promoted external skill. Returns a disabled message when external_skills.curation_enabled is false.",
933
933
  agents: []
934
934
  },
935
- epic_decide_phase: {
936
- description: "Compute the Epic Mode verdict for a phase WITHOUT dispatching coders. Runs preflight + calibration + the three gates (p-threshold, hot-module, greenfield), persists the decision, and returns the verdict so the architect can dispatch waves via the visible Task tool (promote) or fall back to per-task serial (demote). Pair with `epic_plan_waves` to get the wave plan when promoted. Use when /swarm epic is on for the session.",
937
- agents: ["architect"]
938
- },
939
- epic_plan_waves: {
940
- description: "Partition a phase's pending tasks into ordered concurrent waves for Epic Mode dispatch. " + "A wave is a set of tasks with mutually disjoint declared scopes and all dependencies satisfied by prior waves. " + "Returns `{ waves: [{ waveId, taskIds, files }, ...], serializedTasks, degradedTasks }`. " + 'For each wave in order, the architect dispatches one `Task(subagent_type="coder", ...)` per `taskId` \u2014 all in one assistant message \u2014 so the wave runs concurrently and each coder appears as a visible subagent. ' + "Wait for the wave to finish before dispatching the next. " + "Pair with `epic_decide_phase` (called first; this tool is only relevant on a `promote` verdict). " + "Preflight reject reasons: `no-plan`, `no-phase`, `phase-empty`, `phase-already-complete`, `scopes-missing` (call `declare_scope` for `missingScopes`), `git-failed` (transient \u2014 retry), `planner-error`.",
941
- agents: ["architect"]
935
+ epic_next_wave: {
936
+ description: "Epic Mode: the single, idempotent way forward while an epic is open. Closes the active wave once every task is resolved (recording per-task outcomes and declared-vs-actual divergence, which Epic learning uses to plan later waves), keeps phases in order, and issues the next wave of disjoint tasks with dispatch instructions. Returns a status: dispatch | declare-scopes | in-progress | blocked | phase-ready-for-review | epic-complete | refused. Requires `epic.mode.enabled: true` and an epic opened by `/swarm epic start`.",
937
+ agents: []
942
938
  },
943
- epic_record_divergence: {
944
- description: "After every `update_task_status(completed)`, record the task's declared-vs-actual divergence to .swarm/epic/divergence.jsonl. Feeds Epic Mode's self-calibration loop (Capability D). Best-effort: never blocks.",
945
- agents: ["architect"]
939
+ epic_phase_review: {
940
+ description: "Epic Mode phase readiness: dispatch a read-only phase reviewer, then (only if it APPROVES) a read-only phase critic over the completed phase; parse both verdicts from the agents and record them to .swarm/evidence/{phase}/epic-phase-review.json. Required by phase_complete while an epic is open for the current plan; re-run after any fix (evidence is bound to the plan and phase task evidence).",
941
+ agents: []
946
942
  }
947
943
  };
948
944
  TOOL_NAMES = Object.keys(TOOL_METADATA);
@@ -1002,7 +998,7 @@ function isQAAgent(name) {
1002
998
  function isSubagent(name) {
1003
999
  return ALL_SUBAGENT_NAMES.includes(name);
1004
1000
  }
1005
- var OPENCODE_NATIVE_AGENTS, CLAUDE_CODE_NATIVE_COMMANDS, OPENCODE_NATIVE_COMMANDS, MEMORY_AGENT_TOOL_MAP, EXTERNAL_SKILL_TOOL_NAMES, EXTERNAL_SKILL_AGENT_TOOL_MAP, COUNCIL_TOOL_NAMES, COUNCIL_AGENT_TOOL_MAP, GENERAL_COUNCIL_TOOL_NAMES, GENERAL_COUNCIL_AGENT_TOOL_MAP, TURBO_TOOL_NAMES, TURBO_AGENT_TOOL_MAP, SKILL_TOOL_NAMES, SKILL_AGENT_TOOL_MAP, PR_REVIEW_CHILD_TOOL_NAMES, PR_REVIEW_CHILD_AGENT_TOOL_MAP, WRITE_TOOL_NAMES, SUMMARIZER_EXEMPT_TOOL_NAMES, DEFAULT_MODELS, DEFAULT_AGENT_CONFIGS, SWARM_WORKTREE_DIR_NAME = ".swarm-worktrees", DEFAULT_WORKTREE_ISOLATION_CONFIG;
1001
+ var OPENCODE_NATIVE_AGENTS, CLAUDE_CODE_NATIVE_COMMANDS, OPENCODE_NATIVE_COMMANDS, MEMORY_AGENT_TOOL_MAP, EXTERNAL_SKILL_TOOL_NAMES, EXTERNAL_SKILL_AGENT_TOOL_MAP, COUNCIL_TOOL_NAMES, COUNCIL_AGENT_TOOL_MAP, GENERAL_COUNCIL_TOOL_NAMES, GENERAL_COUNCIL_AGENT_TOOL_MAP, TURBO_TOOL_NAMES, TURBO_AGENT_TOOL_MAP, EPIC_TOOL_NAMES, EPIC_AGENT_TOOL_MAP, SKILL_TOOL_NAMES, SKILL_AGENT_TOOL_MAP, PR_REVIEW_CHILD_TOOL_NAMES, PR_REVIEW_CHILD_AGENT_TOOL_MAP, WRITE_TOOL_NAMES, SUMMARIZER_EXEMPT_TOOL_NAMES, DEFAULT_MODELS, DEFAULT_AGENT_CONFIGS, DEFAULT_LEAN_TURBO_CONFIG, SWARM_WORKTREE_DIR_NAME = ".swarm-worktrees", DEFAULT_WORKTREE_ISOLATION_CONFIG;
1006
1002
  var init_constants = __esm(() => {
1007
1003
  init_agent_names();
1008
1004
  init_tool_metadata();
@@ -1222,6 +1218,13 @@ var init_constants = __esm(() => {
1222
1218
  TURBO_AGENT_TOOL_MAP = {
1223
1219
  architect: [...TURBO_TOOL_NAMES]
1224
1220
  };
1221
+ EPIC_TOOL_NAMES = [
1222
+ "epic_next_wave",
1223
+ "epic_phase_review"
1224
+ ];
1225
+ EPIC_AGENT_TOOL_MAP = {
1226
+ architect: [...EPIC_TOOL_NAMES]
1227
+ };
1225
1228
  SKILL_TOOL_NAMES = [
1226
1229
  "skill_generate",
1227
1230
  "skill_list",
@@ -1378,6 +1381,24 @@ var init_constants = __esm(() => {
1378
1381
  fallback_models: ["opencode/mimo-v2.6-flash-free"]
1379
1382
  }
1380
1383
  };
1384
+ DEFAULT_LEAN_TURBO_CONFIG = {
1385
+ max_parallel_coders: 4,
1386
+ require_declared_scope: true,
1387
+ conflict_policy: "serialize",
1388
+ degrade_on_risk: true,
1389
+ phase_reviewer: true,
1390
+ phase_critic: true,
1391
+ integrated_diff_required: true,
1392
+ allow_docs_only_without_reviewer: false,
1393
+ worktree_isolation: true,
1394
+ merge_strategy: "merge",
1395
+ worktree_dir: undefined,
1396
+ deps_strategy: "skip",
1397
+ runtime_isolation: {
1398
+ enabled: false,
1399
+ port_stride: 1
1400
+ }
1401
+ };
1381
1402
  DEFAULT_WORKTREE_ISOLATION_CONFIG = {
1382
1403
  policy: "auto",
1383
1404
  merge_strategy: "merge",
@@ -1394,4 +1415,4 @@ var init_constants = __esm(() => {
1394
1415
  };
1395
1416
  });
1396
1417
 
1397
- export { QA_AGENTS, PIPELINE_AGENTS, ORCHESTRATOR_NAME, ALL_SUBAGENT_NAMES, ALL_AGENT_NAMES, init_agent_names, TOOL_METADATA, TOOL_NAMES, TOOL_NAME_SET, getPrWorkflowToolCapability, TOOL_DESCRIPTIONS, AGENT_TOOL_MAP, init_tool_metadata, MEMORY_AGENT_TOOL_MAP, EXTERNAL_SKILL_AGENT_TOOL_MAP, COUNCIL_AGENT_TOOL_MAP, GENERAL_COUNCIL_AGENT_TOOL_MAP, TURBO_AGENT_TOOL_MAP, SKILL_TOOL_NAMES, SKILL_AGENT_TOOL_MAP, WRITE_TOOL_NAMES, SUMMARIZER_EXEMPT_TOOL_NAMES, DEFAULT_MODELS, DEFAULT_AGENT_CONFIGS, isQAAgent, isSubagent, SWARM_WORKTREE_DIR_NAME, DEFAULT_WORKTREE_ISOLATION_CONFIG, init_constants };
1418
+ export { QA_AGENTS, PIPELINE_AGENTS, ORCHESTRATOR_NAME, ALL_SUBAGENT_NAMES, ALL_AGENT_NAMES, init_agent_names, TOOL_METADATA, TOOL_NAMES, TOOL_NAME_SET, getPrWorkflowToolCapability, TOOL_DESCRIPTIONS, AGENT_TOOL_MAP, init_tool_metadata, MEMORY_AGENT_TOOL_MAP, EXTERNAL_SKILL_AGENT_TOOL_MAP, COUNCIL_AGENT_TOOL_MAP, GENERAL_COUNCIL_AGENT_TOOL_MAP, TURBO_AGENT_TOOL_MAP, EPIC_TOOL_NAMES, EPIC_AGENT_TOOL_MAP, SKILL_TOOL_NAMES, SKILL_AGENT_TOOL_MAP, WRITE_TOOL_NAMES, SUMMARIZER_EXEMPT_TOOL_NAMES, DEFAULT_MODELS, DEFAULT_AGENT_CONFIGS, isQAAgent, isSubagent, DEFAULT_LEAN_TURBO_CONFIG, SWARM_WORKTREE_DIR_NAME, DEFAULT_WORKTREE_ISOLATION_CONFIG, init_constants };
@@ -5,18 +5,18 @@ import {
5
5
  import {
6
6
  effectiveRetrievalOutcomes,
7
7
  readAuthoritativeKnowledgeCounterRollups
8
- } from "./index-fhtcx5ag.js";
8
+ } from "./index-h0xhec3d.js";
9
9
  import {
10
10
  ALLOWED_SKILL_PATH_PREFIXES,
11
11
  validateSkillPath
12
- } from "./index-jgr1rsr1.js";
12
+ } from "./index-2kpqqcch.js";
13
13
  import {
14
14
  computeOutcomeSignal,
15
15
  readKnowledge,
16
16
  resolveHiveKnowledgePath,
17
17
  resolveSwarmKnowledgePath,
18
18
  transactKnowledge
19
- } from "./index-tmn4pf7q.js";
19
+ } from "./index-mp1s7b0n.js";
20
20
  import {
21
21
  appendCappedJsonl,
22
22
  resolveRetentionCap
@@ -27,7 +27,7 @@ import {
27
27
  import {
28
28
  atomicWriteFileAnyRoot,
29
29
  atomicWriteSwarmFile
30
- } from "./index-p2tqzwh6.js";
30
+ } from "./index-qs9myayh.js";
31
31
  import {
32
32
  advisoryWarn,
33
33
  init_warning_buffer