swarm-orchestrator 14.4.0 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (923) hide show
  1. package/CHANGELOG.md +172 -292
  2. package/README.md +82 -251
  3. package/dist/agent/attempts.js +74 -0
  4. package/dist/agent/attempts.js.map +1 -0
  5. package/dist/agent/command-step.js +66 -0
  6. package/dist/agent/command-step.js.map +1 -0
  7. package/dist/agent/context.js +101 -0
  8. package/dist/agent/context.js.map +1 -0
  9. package/dist/agent/conversation.js +95 -0
  10. package/dist/agent/conversation.js.map +1 -0
  11. package/dist/agent/exchange.js +71 -0
  12. package/dist/agent/exchange.js.map +1 -0
  13. package/dist/agent/feedback.js +19 -0
  14. package/dist/agent/feedback.js.map +1 -0
  15. package/dist/agent/finalize.js +74 -0
  16. package/dist/agent/finalize.js.map +1 -0
  17. package/dist/agent/git.js +24 -0
  18. package/dist/agent/git.js.map +1 -0
  19. package/dist/agent/instructions.js +72 -0
  20. package/dist/agent/instructions.js.map +1 -0
  21. package/dist/agent/loop-types.js +2 -0
  22. package/dist/agent/loop-types.js.map +1 -0
  23. package/dist/agent/loop.js +248 -0
  24. package/dist/agent/loop.js.map +1 -0
  25. package/dist/agent/model.js +132 -0
  26. package/dist/agent/model.js.map +1 -0
  27. package/dist/agent/prompt.js +130 -0
  28. package/dist/agent/prompt.js.map +1 -0
  29. package/dist/agent/python-environment.js +158 -0
  30. package/dist/agent/python-environment.js.map +1 -0
  31. package/dist/agent/report.js +181 -0
  32. package/dist/agent/report.js.map +1 -0
  33. package/dist/agent/requirement-lines.js +56 -0
  34. package/dist/agent/requirement-lines.js.map +1 -0
  35. package/dist/agent/requirement-record.js +80 -0
  36. package/dist/agent/requirement-record.js.map +1 -0
  37. package/dist/agent/requirements-step.js +26 -0
  38. package/dist/agent/requirements-step.js.map +1 -0
  39. package/dist/agent/review.js +111 -0
  40. package/dist/agent/review.js.map +1 -0
  41. package/dist/agent/run.js +231 -0
  42. package/dist/agent/run.js.map +1 -0
  43. package/dist/agent/usage.js +35 -0
  44. package/dist/agent/usage.js.map +1 -0
  45. package/dist/agent/verification-step.js +23 -0
  46. package/dist/agent/verification-step.js.map +1 -0
  47. package/dist/agent/verification.js +94 -0
  48. package/dist/agent/verification.js.map +1 -0
  49. package/dist/agent/version-constraints.js +121 -0
  50. package/dist/agent/version-constraints.js.map +1 -0
  51. package/dist/agent/workspace.js +102 -0
  52. package/dist/agent/workspace.js.map +1 -0
  53. package/dist/build-version.js +10 -0
  54. package/dist/build-version.js.map +1 -1
  55. package/dist/cli-command-definitions.js +28 -168
  56. package/dist/cli-command-definitions.js.map +1 -1
  57. package/dist/cli-doctor.js +122 -0
  58. package/dist/cli-doctor.js.map +1 -0
  59. package/dist/cli-main.js +30 -0
  60. package/dist/cli-main.js.map +1 -0
  61. package/dist/cli-run.js +165 -0
  62. package/dist/cli-run.js.map +1 -0
  63. package/dist/cli.js +10 -723
  64. package/dist/cli.js.map +1 -1
  65. package/dist/config/agent-config.js +69 -0
  66. package/dist/config/agent-config.js.map +1 -0
  67. package/dist/config/declared-setup.js +46 -0
  68. package/dist/config/declared-setup.js.map +1 -0
  69. package/dist/evidence/ledger-record.js +4 -72
  70. package/dist/evidence/ledger-record.js.map +1 -1
  71. package/dist/evidence/ledger.js +1 -3
  72. package/dist/evidence/ledger.js.map +1 -1
  73. package/dist/evidence/scrub-json.js +131 -0
  74. package/dist/evidence/scrub-json.js.map +1 -0
  75. package/dist/evidence/scrub.js +12 -396
  76. package/dist/evidence/scrub.js.map +1 -1
  77. package/dist/evidence/secret-spans.js +137 -0
  78. package/dist/evidence/secret-spans.js.map +1 -0
  79. package/dist/evidence/session.js +19 -82
  80. package/dist/evidence/session.js.map +1 -1
  81. package/dist/runtime/capacity.js +99 -0
  82. package/dist/runtime/capacity.js.map +1 -0
  83. package/dist/runtime/ollama.js +200 -0
  84. package/dist/runtime/ollama.js.map +1 -0
  85. package/dist/runtime/probe.js +57 -0
  86. package/dist/runtime/probe.js.map +1 -0
  87. package/dist/runtime/profile.js +101 -0
  88. package/dist/runtime/profile.js.map +1 -0
  89. package/dist/runtime/resolve.js +182 -0
  90. package/dist/runtime/resolve.js.map +1 -0
  91. package/dist/runtime/select.js +88 -0
  92. package/dist/runtime/select.js.map +1 -0
  93. package/dist/runtime/survey.js +51 -0
  94. package/dist/runtime/survey.js.map +1 -0
  95. package/dist/source.json +1 -0
  96. package/dist/tools/argument-grammars.js +90 -0
  97. package/dist/tools/argument-grammars.js.map +1 -0
  98. package/dist/tools/awk-program.js +143 -0
  99. package/dist/tools/awk-program.js.map +1 -0
  100. package/dist/tools/chokepoint.js +85 -208
  101. package/dist/tools/chokepoint.js.map +1 -1
  102. package/dist/tools/command-operands.js +55 -0
  103. package/dist/tools/command-operands.js.map +1 -0
  104. package/dist/tools/heredoc.js +57 -0
  105. package/dist/tools/heredoc.js.map +1 -0
  106. package/dist/tools/policy-guard.js +18 -3
  107. package/dist/tools/policy-guard.js.map +1 -1
  108. package/dist/tools/program-arguments.js +135 -0
  109. package/dist/tools/program-arguments.js.map +1 -0
  110. package/dist/tools/quoted-words.js +32 -0
  111. package/dist/tools/quoted-words.js.map +1 -0
  112. package/dist/tools/refused-actions.js +64 -0
  113. package/dist/tools/refused-actions.js.map +1 -0
  114. package/dist/tools/sed-script.js +278 -0
  115. package/dist/tools/sed-script.js.map +1 -0
  116. package/dist/tools/shell-command.js +70 -158
  117. package/dist/tools/shell-command.js.map +1 -1
  118. package/dist/tools/shell-paths.js +222 -0
  119. package/dist/tools/shell-paths.js.map +1 -0
  120. package/dist/tools/shell-tokens.js +133 -0
  121. package/dist/tools/shell-tokens.js.map +1 -0
  122. package/dist/tools/word-paths.js +63 -0
  123. package/dist/tools/word-paths.js.map +1 -0
  124. package/package.json +17 -44
  125. package/dist/action/artifacts.js +0 -72
  126. package/dist/action/artifacts.js.map +0 -1
  127. package/dist/action/comment.js +0 -139
  128. package/dist/action/comment.js.map +0 -1
  129. package/dist/action/environment.js +0 -106
  130. package/dist/action/environment.js.map +0 -1
  131. package/dist/action/verdict.js +0 -103
  132. package/dist/action/verdict.js.map +0 -1
  133. package/dist/action/verify.js +0 -424
  134. package/dist/action/verify.js.map +0 -1
  135. package/dist/adapters/external-agent.js +0 -141
  136. package/dist/adapters/external-agent.js.map +0 -1
  137. package/dist/agent-escalation.js +0 -74
  138. package/dist/agent-escalation.js.map +0 -1
  139. package/dist/agent-prompt.js +0 -55
  140. package/dist/agent-prompt.js.map +0 -1
  141. package/dist/agent-run.js +0 -743
  142. package/dist/agent-run.js.map +0 -1
  143. package/dist/cli-action.js +0 -117
  144. package/dist/cli-action.js.map +0 -1
  145. package/dist/cli-bond-report.js +0 -37
  146. package/dist/cli-bond-report.js.map +0 -1
  147. package/dist/cli-bundle.js +0 -64
  148. package/dist/cli-bundle.js.map +0 -1
  149. package/dist/cli-calibrate.js +0 -282
  150. package/dist/cli-calibrate.js.map +0 -1
  151. package/dist/cli-check.js +0 -341
  152. package/dist/cli-check.js.map +0 -1
  153. package/dist/cli-ci.js +0 -251
  154. package/dist/cli-ci.js.map +0 -1
  155. package/dist/cli-evidence-summary.js +0 -25
  156. package/dist/cli-evidence-summary.js.map +0 -1
  157. package/dist/cli-gates.js +0 -147
  158. package/dist/cli-gates.js.map +0 -1
  159. package/dist/cli-init.js +0 -175
  160. package/dist/cli-init.js.map +0 -1
  161. package/dist/cli-integrations.js +0 -145
  162. package/dist/cli-integrations.js.map +0 -1
  163. package/dist/cli-local-backend.js +0 -23
  164. package/dist/cli-local-backend.js.map +0 -1
  165. package/dist/cli-model-default.js +0 -107
  166. package/dist/cli-model-default.js.map +0 -1
  167. package/dist/cli-model-preflight.js +0 -18
  168. package/dist/cli-model-preflight.js.map +0 -1
  169. package/dist/cli-options.js +0 -415
  170. package/dist/cli-options.js.map +0 -1
  171. package/dist/cli-parallel-output.js +0 -158
  172. package/dist/cli-parallel-output.js.map +0 -1
  173. package/dist/cli-parallel.js +0 -585
  174. package/dist/cli-parallel.js.map +0 -1
  175. package/dist/cli-preflight.js +0 -33
  176. package/dist/cli-preflight.js.map +0 -1
  177. package/dist/cli-provider-settings.js +0 -21
  178. package/dist/cli-provider-settings.js.map +0 -1
  179. package/dist/cli-run-commands.js +0 -151
  180. package/dist/cli-run-commands.js.map +0 -1
  181. package/dist/cli-run-report.js +0 -63
  182. package/dist/cli-run-report.js.map +0 -1
  183. package/dist/cli-run-settings.js +0 -30
  184. package/dist/cli-run-settings.js.map +0 -1
  185. package/dist/cli-runtime-inputs.js +0 -25
  186. package/dist/cli-runtime-inputs.js.map +0 -1
  187. package/dist/cli-select.js +0 -122
  188. package/dist/cli-select.js.map +0 -1
  189. package/dist/cli-session.js +0 -286
  190. package/dist/cli-session.js.map +0 -1
  191. package/dist/cli-strengthen.js +0 -527
  192. package/dist/cli-strengthen.js.map +0 -1
  193. package/dist/cli-task-contract.js +0 -24
  194. package/dist/cli-task-contract.js.map +0 -1
  195. package/dist/cli-task-cost.js +0 -76
  196. package/dist/cli-task-cost.js.map +0 -1
  197. package/dist/cli-task-goal.js +0 -163
  198. package/dist/cli-task-goal.js.map +0 -1
  199. package/dist/cli-terminal.js +0 -103
  200. package/dist/cli-terminal.js.map +0 -1
  201. package/dist/cli-verdict.js +0 -144
  202. package/dist/cli-verdict.js.map +0 -1
  203. package/dist/cli-verification-evidence.js +0 -51
  204. package/dist/cli-verification-evidence.js.map +0 -1
  205. package/dist/cli-verify-options.js +0 -231
  206. package/dist/cli-verify-options.js.map +0 -1
  207. package/dist/cli-verify.js +0 -18
  208. package/dist/cli-verify.js.map +0 -1
  209. package/dist/config/approval-mode.js +0 -26
  210. package/dist/config/approval-mode.js.map +0 -1
  211. package/dist/config/init.js +0 -167
  212. package/dist/config/init.js.map +0 -1
  213. package/dist/config/interface-settings.js +0 -7
  214. package/dist/config/interface-settings.js.map +0 -1
  215. package/dist/config/node-harness.js +0 -34
  216. package/dist/config/node-harness.js.map +0 -1
  217. package/dist/config/package-discovery.js +0 -96
  218. package/dist/config/package-discovery.js.map +0 -1
  219. package/dist/config/settings.js +0 -110
  220. package/dist/config/settings.js.map +0 -1
  221. package/dist/config/swarm-toml.js +0 -249
  222. package/dist/config/swarm-toml.js.map +0 -1
  223. package/dist/core/clock.js +0 -2
  224. package/dist/core/clock.js.map +0 -1
  225. package/dist/core/compaction.js +0 -66
  226. package/dist/core/compaction.js.map +0 -1
  227. package/dist/core/degenerate-output.js +0 -44
  228. package/dist/core/degenerate-output.js.map +0 -1
  229. package/dist/core/loop-events.js +0 -2
  230. package/dist/core/loop-events.js.map +0 -1
  231. package/dist/core/loop.js +0 -385
  232. package/dist/core/loop.js.map +0 -1
  233. package/dist/core/model-cancellation.js +0 -17
  234. package/dist/core/model-cancellation.js.map +0 -1
  235. package/dist/core/model-client.js +0 -43
  236. package/dist/core/model-client.js.map +0 -1
  237. package/dist/core/random-source.js +0 -2
  238. package/dist/core/random-source.js.map +0 -1
  239. package/dist/core/termination.js +0 -20
  240. package/dist/core/termination.js.map +0 -1
  241. package/dist/core/tool-invoker.js +0 -2
  242. package/dist/core/tool-invoker.js.map +0 -1
  243. package/dist/durable/controller-location.js +0 -30
  244. package/dist/durable/controller-location.js.map +0 -1
  245. package/dist/durable/legacy-run-store.js +0 -86
  246. package/dist/durable/legacy-run-store.js.map +0 -1
  247. package/dist/durable/recovery-context.js +0 -180
  248. package/dist/durable/recovery-context.js.map +0 -1
  249. package/dist/durable/run-journal.js +0 -161
  250. package/dist/durable/run-journal.js.map +0 -1
  251. package/dist/durable/run-store.js +0 -218
  252. package/dist/durable/run-store.js.map +0 -1
  253. package/dist/durable/session-evidence.js +0 -21
  254. package/dist/durable/session-evidence.js.map +0 -1
  255. package/dist/edit-distance.js +0 -39
  256. package/dist/edit-distance.js.map +0 -1
  257. package/dist/eval/agent-session.js +0 -146
  258. package/dist/eval/agent-session.js.map +0 -1
  259. package/dist/eval/arm-dispatch.js +0 -33
  260. package/dist/eval/arm-dispatch.js.map +0 -1
  261. package/dist/eval/arms.js +0 -101
  262. package/dist/eval/arms.js.map +0 -1
  263. package/dist/eval/campaign-history.js +0 -48
  264. package/dist/eval/campaign-history.js.map +0 -1
  265. package/dist/eval/campaign-record.js +0 -232
  266. package/dist/eval/campaign-record.js.map +0 -1
  267. package/dist/eval/campaign-run.js +0 -285
  268. package/dist/eval/campaign-run.js.map +0 -1
  269. package/dist/eval/deadline-overshoot.js +0 -73
  270. package/dist/eval/deadline-overshoot.js.map +0 -1
  271. package/dist/eval/empty-patch-attribution.js +0 -19
  272. package/dist/eval/empty-patch-attribution.js.map +0 -1
  273. package/dist/eval/endpoint-health.js +0 -126
  274. package/dist/eval/endpoint-health.js.map +0 -1
  275. package/dist/eval/false-green-rate.js +0 -133
  276. package/dist/eval/false-green-rate.js.map +0 -1
  277. package/dist/eval/feedback-study-analysis.js +0 -747
  278. package/dist/eval/feedback-study-analysis.js.map +0 -1
  279. package/dist/eval/feedback-study-report.js +0 -156
  280. package/dist/eval/feedback-study-report.js.map +0 -1
  281. package/dist/eval/feedback-study.js +0 -854
  282. package/dist/eval/feedback-study.js.map +0 -1
  283. package/dist/eval/first-run-observation.js +0 -105
  284. package/dist/eval/first-run-observation.js.map +0 -1
  285. package/dist/eval/frozen-campaign.js +0 -127
  286. package/dist/eval/frozen-campaign.js.map +0 -1
  287. package/dist/eval/goal-campaign-report.js +0 -143
  288. package/dist/eval/goal-campaign-report.js.map +0 -1
  289. package/dist/eval/goal-observation.js +0 -50
  290. package/dist/eval/goal-observation.js.map +0 -1
  291. package/dist/eval/goal-protocol.js +0 -104
  292. package/dist/eval/goal-protocol.js.map +0 -1
  293. package/dist/eval/known-total.js +0 -7
  294. package/dist/eval/known-total.js.map +0 -1
  295. package/dist/eval/npm-failure.js +0 -24
  296. package/dist/eval/npm-failure.js.map +0 -1
  297. package/dist/eval/oracle-challenge.js +0 -80
  298. package/dist/eval/oracle-challenge.js.map +0 -1
  299. package/dist/eval/oracle-filter.js +0 -98
  300. package/dist/eval/oracle-filter.js.map +0 -1
  301. package/dist/eval/patch-metrics.js +0 -74
  302. package/dist/eval/patch-metrics.js.map +0 -1
  303. package/dist/eval/pr-task-judge.js +0 -241
  304. package/dist/eval/pr-task-judge.js.map +0 -1
  305. package/dist/eval/pr-task-paths.js +0 -26
  306. package/dist/eval/pr-task-paths.js.map +0 -1
  307. package/dist/eval/protocol-fixture.js +0 -97
  308. package/dist/eval/protocol-fixture.js.map +0 -1
  309. package/dist/eval/protocol.js +0 -80
  310. package/dist/eval/protocol.js.map +0 -1
  311. package/dist/eval/reach-pressure-analysis.js +0 -507
  312. package/dist/eval/reach-pressure-analysis.js.map +0 -1
  313. package/dist/eval/reach-pressure-derivation.js +0 -201
  314. package/dist/eval/reach-pressure-derivation.js.map +0 -1
  315. package/dist/eval/reach-pressure-report.js +0 -266
  316. package/dist/eval/reach-pressure-report.js.map +0 -1
  317. package/dist/eval/reach-pressure.js +0 -645
  318. package/dist/eval/reach-pressure.js.map +0 -1
  319. package/dist/eval/repair-progress.js +0 -109
  320. package/dist/eval/repair-progress.js.map +0 -1
  321. package/dist/eval/sealed-workspace.js +0 -61
  322. package/dist/eval/sealed-workspace.js.map +0 -1
  323. package/dist/eval/security-corpus.js +0 -139
  324. package/dist/eval/security-corpus.js.map +0 -1
  325. package/dist/eval/statistics.js +0 -289
  326. package/dist/eval/statistics.js.map +0 -1
  327. package/dist/eval/task-difficulty.js +0 -28
  328. package/dist/eval/task-difficulty.js.map +0 -1
  329. package/dist/eval/task-identity.js +0 -0
  330. package/dist/eval/task-identity.js.map +0 -1
  331. package/dist/eval/test-case-split.js +0 -140
  332. package/dist/eval/test-case-split.js.map +0 -1
  333. package/dist/eval/verification-closure.js +0 -56
  334. package/dist/eval/verification-closure.js.map +0 -1
  335. package/dist/evidence/acceptance-contract.js +0 -34
  336. package/dist/evidence/acceptance-contract.js.map +0 -1
  337. package/dist/evidence/attestation.js +0 -164
  338. package/dist/evidence/attestation.js.map +0 -1
  339. package/dist/evidence/behavior-check.js +0 -93
  340. package/dist/evidence/behavior-check.js.map +0 -1
  341. package/dist/evidence/blob-manifest.js +0 -183
  342. package/dist/evidence/blob-manifest.js.map +0 -1
  343. package/dist/evidence/blob-restore.js +0 -100
  344. package/dist/evidence/blob-restore.js.map +0 -1
  345. package/dist/evidence/browser-execution.js +0 -12
  346. package/dist/evidence/browser-execution.js.map +0 -1
  347. package/dist/evidence/bundle-manifest.js +0 -64
  348. package/dist/evidence/bundle-manifest.js.map +0 -1
  349. package/dist/evidence/bundle.js +0 -189
  350. package/dist/evidence/bundle.js.map +0 -1
  351. package/dist/evidence/challenge-lines.js +0 -21
  352. package/dist/evidence/challenge-lines.js.map +0 -1
  353. package/dist/evidence/ci-summary.js +0 -62
  354. package/dist/evidence/ci-summary.js.map +0 -1
  355. package/dist/evidence/claim.js +0 -123
  356. package/dist/evidence/claim.js.map +0 -1
  357. package/dist/evidence/combined-bundle.js +0 -40
  358. package/dist/evidence/combined-bundle.js.map +0 -1
  359. package/dist/evidence/dag.js +0 -151
  360. package/dist/evidence/dag.js.map +0 -1
  361. package/dist/evidence/fixtures/empty-assistant-turns.js +0 -13
  362. package/dist/evidence/fixtures/empty-assistant-turns.js.map +0 -1
  363. package/dist/evidence/frozen-json.js +0 -10
  364. package/dist/evidence/frozen-json.js.map +0 -1
  365. package/dist/evidence/goal-contract.js +0 -221
  366. package/dist/evidence/goal-contract.js.map +0 -1
  367. package/dist/evidence/latin-lookalikes.js +0 -74
  368. package/dist/evidence/latin-lookalikes.js.map +0 -1
  369. package/dist/evidence/model-call-recording.js +0 -126
  370. package/dist/evidence/model-call-recording.js.map +0 -1
  371. package/dist/evidence/predicate-catalogue.js +0 -726
  372. package/dist/evidence/predicate-catalogue.js.map +0 -1
  373. package/dist/evidence/predicate.js +0 -244
  374. package/dist/evidence/predicate.js.map +0 -1
  375. package/dist/evidence/record-index.js +0 -21
  376. package/dist/evidence/record-index.js.map +0 -1
  377. package/dist/evidence/record-kind.js +0 -34
  378. package/dist/evidence/record-kind.js.map +0 -1
  379. package/dist/evidence/replay.js +0 -114
  380. package/dist/evidence/replay.js.map +0 -1
  381. package/dist/evidence/retention.js +0 -93
  382. package/dist/evidence/retention.js.map +0 -1
  383. package/dist/evidence/review-page.js +0 -527
  384. package/dist/evidence/review-page.js.map +0 -1
  385. package/dist/evidence/routine-claims.js +0 -38
  386. package/dist/evidence/routine-claims.js.map +0 -1
  387. package/dist/evidence/run-assessment.js +0 -131
  388. package/dist/evidence/run-assessment.js.map +0 -1
  389. package/dist/evidence/run-spec.js +0 -132
  390. package/dist/evidence/run-spec.js.map +0 -1
  391. package/dist/evidence/signer-trust.js +0 -60
  392. package/dist/evidence/signer-trust.js.map +0 -1
  393. package/dist/evidence/signing.js +0 -191
  394. package/dist/evidence/signing.js.map +0 -1
  395. package/dist/evidence/task-contract.js +0 -120
  396. package/dist/evidence/task-contract.js.map +0 -1
  397. package/dist/evidence/task-preset.js +0 -52
  398. package/dist/evidence/task-preset.js.map +0 -1
  399. package/dist/evidence/transcript.js +0 -89
  400. package/dist/evidence/transcript.js.map +0 -1
  401. package/dist/evidence/turn-content.js +0 -32
  402. package/dist/evidence/turn-content.js.map +0 -1
  403. package/dist/evidence/verdict.js +0 -171
  404. package/dist/evidence/verdict.js.map +0 -1
  405. package/dist/evidence/verifier/behavior.d.mts +0 -5
  406. package/dist/evidence/verifier/behavior.mjs +0 -161
  407. package/dist/evidence/verifier/challenges.d.mts +0 -19
  408. package/dist/evidence/verifier/challenges.mjs +0 -203
  409. package/dist/evidence/verifier/controller.d.mts +0 -15
  410. package/dist/evidence/verifier/controller.mjs +0 -751
  411. package/dist/evidence/verifier/rederive.d.mts +0 -64
  412. package/dist/evidence/verifier/rederive.mjs +0 -553
  413. package/dist/evidence/verifier/status.d.mts +0 -11
  414. package/dist/evidence/verifier/status.mjs +0 -757
  415. package/dist/evidence/verifier/strengthening.d.mts +0 -18
  416. package/dist/evidence/verifier/strengthening.mjs +0 -200
  417. package/dist/evidence/verifier/upgrade.d.mts +0 -6
  418. package/dist/evidence/verifier/upgrade.mjs +0 -81
  419. package/dist/evidence/verifier/verify.d.mts +0 -47
  420. package/dist/evidence/verifier/verify.mjs +0 -1666
  421. package/dist/evidence/verify-report.js +0 -104
  422. package/dist/evidence/verify-report.js.map +0 -1
  423. package/dist/exec/child-environment.js +0 -190
  424. package/dist/exec/child-environment.js.map +0 -1
  425. package/dist/exec/container-backend.js +0 -252
  426. package/dist/exec/container-backend.js.map +0 -1
  427. package/dist/exec/container-image.js +0 -7
  428. package/dist/exec/container-image.js.map +0 -1
  429. package/dist/exec/controlled-network.js +0 -58
  430. package/dist/exec/controlled-network.js.map +0 -1
  431. package/dist/exec/execution-envelope-record.js +0 -31
  432. package/dist/exec/execution-envelope-record.js.map +0 -1
  433. package/dist/exec/execution-mode.js +0 -203
  434. package/dist/exec/execution-mode.js.map +0 -1
  435. package/dist/exec/isolation-option.js +0 -40
  436. package/dist/exec/isolation-option.js.map +0 -1
  437. package/dist/exec/resource-pool.js +0 -47
  438. package/dist/exec/resource-pool.js.map +0 -1
  439. package/dist/exec/run-cancellation.js +0 -34
  440. package/dist/exec/run-cancellation.js.map +0 -1
  441. package/dist/exec/run-envelope.js +0 -48
  442. package/dist/exec/run-envelope.js.map +0 -1
  443. package/dist/exec/run-process.js +0 -129
  444. package/dist/exec/run-process.js.map +0 -1
  445. package/dist/exec/runtime-resource.js +0 -98
  446. package/dist/exec/runtime-resource.js.map +0 -1
  447. package/dist/exec/task-contract-enforcement.js +0 -28
  448. package/dist/exec/task-contract-enforcement.js.map +0 -1
  449. package/dist/gates/acceptance-package.js +0 -75
  450. package/dist/gates/acceptance-package.js.map +0 -1
  451. package/dist/gates/approval.js +0 -59
  452. package/dist/gates/approval.js.map +0 -1
  453. package/dist/gates/auto-resolve.js +0 -342
  454. package/dist/gates/auto-resolve.js.map +0 -1
  455. package/dist/gates/base-control.js +0 -138
  456. package/dist/gates/base-control.js.map +0 -1
  457. package/dist/gates/behavior-artifacts.js +0 -88
  458. package/dist/gates/behavior-artifacts.js.map +0 -1
  459. package/dist/gates/behavior-check.js +0 -144
  460. package/dist/gates/behavior-check.js.map +0 -1
  461. package/dist/gates/behaviour-probe.js +0 -178
  462. package/dist/gates/behaviour-probe.js.map +0 -1
  463. package/dist/gates/bond-runner.js +0 -169
  464. package/dist/gates/bond-runner.js.map +0 -1
  465. package/dist/gates/bonds.js +0 -133
  466. package/dist/gates/bonds.js.map +0 -1
  467. package/dist/gates/browser-instrument-runner.mjs +0 -80
  468. package/dist/gates/browser-instrument.js +0 -33
  469. package/dist/gates/browser-instrument.js.map +0 -1
  470. package/dist/gates/browser-results.js +0 -75
  471. package/dist/gates/browser-results.js.map +0 -1
  472. package/dist/gates/certification.js +0 -69
  473. package/dist/gates/certification.js.map +0 -1
  474. package/dist/gates/change-source.js +0 -150
  475. package/dist/gates/change-source.js.map +0 -1
  476. package/dist/gates/check-admission.js +0 -218
  477. package/dist/gates/check-admission.js.map +0 -1
  478. package/dist/gates/check-network-probe.js +0 -42
  479. package/dist/gates/check-network-probe.js.map +0 -1
  480. package/dist/gates/check-plan.js +0 -269
  481. package/dist/gates/check-plan.js.map +0 -1
  482. package/dist/gates/checkout-environment.js +0 -119
  483. package/dist/gates/checkout-environment.js.map +0 -1
  484. package/dist/gates/comment-spans.js +0 -107
  485. package/dist/gates/comment-spans.js.map +0 -1
  486. package/dist/gates/contract-executor.js +0 -84
  487. package/dist/gates/contract-executor.js.map +0 -1
  488. package/dist/gates/contract-scope.js +0 -21
  489. package/dist/gates/contract-scope.js.map +0 -1
  490. package/dist/gates/contract-verification.js +0 -51
  491. package/dist/gates/contract-verification.js.map +0 -1
  492. package/dist/gates/default-gates.js +0 -197
  493. package/dist/gates/default-gates.js.map +0 -1
  494. package/dist/gates/deferred-setup.js +0 -250
  495. package/dist/gates/deferred-setup.js.map +0 -1
  496. package/dist/gates/dependency-install.js +0 -340
  497. package/dist/gates/dependency-install.js.map +0 -1
  498. package/dist/gates/engine.js +0 -171
  499. package/dist/gates/engine.js.map +0 -1
  500. package/dist/gates/environment-preflight.js +0 -108
  501. package/dist/gates/environment-preflight.js.map +0 -1
  502. package/dist/gates/escalation.js +0 -53
  503. package/dist/gates/escalation.js.map +0 -1
  504. package/dist/gates/failure-attribution.js +0 -444
  505. package/dist/gates/failure-attribution.js.map +0 -1
  506. package/dist/gates/failure-signature.js +0 -9
  507. package/dist/gates/failure-signature.js.map +0 -1
  508. package/dist/gates/file-set-tool.js +0 -107
  509. package/dist/gates/file-set-tool.js.map +0 -1
  510. package/dist/gates/file-set.js +0 -301
  511. package/dist/gates/file-set.js.map +0 -1
  512. package/dist/gates/gate-capability.js +0 -37
  513. package/dist/gates/gate-capability.js.map +0 -1
  514. package/dist/gates/gate-command.js +0 -69
  515. package/dist/gates/gate-command.js.map +0 -1
  516. package/dist/gates/gate-definition.js +0 -15
  517. package/dist/gates/gate-definition.js.map +0 -1
  518. package/dist/gates/gate-runner.js +0 -325
  519. package/dist/gates/gate-runner.js.map +0 -1
  520. package/dist/gates/gate-set-seal.js +0 -73
  521. package/dist/gates/gate-set-seal.js.map +0 -1
  522. package/dist/gates/git-workspace.js +0 -260
  523. package/dist/gates/git-workspace.js.map +0 -1
  524. package/dist/gates/github-source.js +0 -44
  525. package/dist/gates/github-source.js.map +0 -1
  526. package/dist/gates/goal-acceptance.js +0 -167
  527. package/dist/gates/goal-acceptance.js.map +0 -1
  528. package/dist/gates/goal-challenge-runner.js +0 -99
  529. package/dist/gates/goal-challenge-runner.js.map +0 -1
  530. package/dist/gates/goal-challenges.js +0 -337
  531. package/dist/gates/goal-challenges.js.map +0 -1
  532. package/dist/gates/goal-checkout.js +0 -109
  533. package/dist/gates/goal-checkout.js.map +0 -1
  534. package/dist/gates/goal-effects.js +0 -38
  535. package/dist/gates/goal-effects.js.map +0 -1
  536. package/dist/gates/harness-reporting.js +0 -71
  537. package/dist/gates/harness-reporting.js.map +0 -1
  538. package/dist/gates/http-check-runner.mjs +0 -96
  539. package/dist/gates/independent-checks.js +0 -95
  540. package/dist/gates/independent-checks.js.map +0 -1
  541. package/dist/gates/independent-verification.js +0 -1257
  542. package/dist/gates/independent-verification.js.map +0 -1
  543. package/dist/gates/inherited-changes.js +0 -26
  544. package/dist/gates/inherited-changes.js.map +0 -1
  545. package/dist/gates/inspection-gates.js +0 -430
  546. package/dist/gates/inspection-gates.js.map +0 -1
  547. package/dist/gates/instrument-dependencies.js +0 -249
  548. package/dist/gates/instrument-dependencies.js.map +0 -1
  549. package/dist/gates/instrument-identity.js +0 -794
  550. package/dist/gates/instrument-identity.js.map +0 -1
  551. package/dist/gates/measure-snapshot.js +0 -234
  552. package/dist/gates/measure-snapshot.js.map +0 -1
  553. package/dist/gates/measures.js +0 -298
  554. package/dist/gates/measures.js.map +0 -1
  555. package/dist/gates/mutant-parse.js +0 -70
  556. package/dist/gates/mutant-parse.js.map +0 -1
  557. package/dist/gates/mutant-witness.js +0 -99
  558. package/dist/gates/mutant-witness.js.map +0 -1
  559. package/dist/gates/node-command-runner.js +0 -160
  560. package/dist/gates/node-command-runner.js.map +0 -1
  561. package/dist/gates/node-gates.js +0 -122
  562. package/dist/gates/node-gates.js.map +0 -1
  563. package/dist/gates/node-test-command.js +0 -274
  564. package/dist/gates/node-test-command.js.map +0 -1
  565. package/dist/gates/noninteractive-runner.js +0 -106
  566. package/dist/gates/noninteractive-runner.js.map +0 -1
  567. package/dist/gates/oracle-bond-run.js +0 -128
  568. package/dist/gates/oracle-bond-run.js.map +0 -1
  569. package/dist/gates/oracle-bond.js +0 -49
  570. package/dist/gates/oracle-bond.js.map +0 -1
  571. package/dist/gates/oracle-instrumentation.js +0 -112
  572. package/dist/gates/oracle-instrumentation.js.map +0 -1
  573. package/dist/gates/oracle-mutants.js +0 -638
  574. package/dist/gates/oracle-mutants.js.map +0 -1
  575. package/dist/gates/oracle-reach.js +0 -175
  576. package/dist/gates/oracle-reach.js.map +0 -1
  577. package/dist/gates/package-scope.js +0 -115
  578. package/dist/gates/package-scope.js.map +0 -1
  579. package/dist/gates/parsers.js +0 -585
  580. package/dist/gates/parsers.js.map +0 -1
  581. package/dist/gates/patch-paths.js +0 -315
  582. package/dist/gates/patch-paths.js.map +0 -1
  583. package/dist/gates/prepare-dependencies.js +0 -37
  584. package/dist/gates/prepare-dependencies.js.map +0 -1
  585. package/dist/gates/prepared-python.js +0 -92
  586. package/dist/gates/prepared-python.js.map +0 -1
  587. package/dist/gates/prepared-tools.js +0 -18
  588. package/dist/gates/prepared-tools.js.map +0 -1
  589. package/dist/gates/preset-verification.js +0 -65
  590. package/dist/gates/preset-verification.js.map +0 -1
  591. package/dist/gates/project-environment.js +0 -60
  592. package/dist/gates/project-environment.js.map +0 -1
  593. package/dist/gates/project-type.js +0 -244
  594. package/dist/gates/project-type.js.map +0 -1
  595. package/dist/gates/python-gates.js +0 -93
  596. package/dist/gates/python-gates.js.map +0 -1
  597. package/dist/gates/python-mutants.js +0 -176
  598. package/dist/gates/python-mutants.js.map +0 -1
  599. package/dist/gates/python-offline-build.js +0 -274
  600. package/dist/gates/python-offline-build.js.map +0 -1
  601. package/dist/gates/ratchet-summary.js +0 -18
  602. package/dist/gates/ratchet-summary.js.map +0 -1
  603. package/dist/gates/ratchet.js +0 -207
  604. package/dist/gates/ratchet.js.map +0 -1
  605. package/dist/gates/repair-policy.js +0 -64
  606. package/dist/gates/repair-policy.js.map +0 -1
  607. package/dist/gates/resolved-path.js +0 -21
  608. package/dist/gates/resolved-path.js.map +0 -1
  609. package/dist/gates/respecification.js +0 -153
  610. package/dist/gates/respecification.js.map +0 -1
  611. package/dist/gates/runner-results.js +0 -150
  612. package/dist/gates/runner-results.js.map +0 -1
  613. package/dist/gates/scratch-index.js +0 -172
  614. package/dist/gates/scratch-index.js.map +0 -1
  615. package/dist/gates/setup-effect.js +0 -16
  616. package/dist/gates/setup-effect.js.map +0 -1
  617. package/dist/gates/setup-follow-up.js +0 -113
  618. package/dist/gates/setup-follow-up.js.map +0 -1
  619. package/dist/gates/structured-runner.js +0 -66
  620. package/dist/gates/structured-runner.js.map +0 -1
  621. package/dist/gates/turn-baseline.js +0 -98
  622. package/dist/gates/turn-baseline.js.map +0 -1
  623. package/dist/gates/unified-diff.js +0 -239
  624. package/dist/gates/unified-diff.js.map +0 -1
  625. package/dist/gates/upgrade-contract.js +0 -82
  626. package/dist/gates/upgrade-contract.js.map +0 -1
  627. package/dist/gates/upgrade-resolution.js +0 -63
  628. package/dist/gates/upgrade-resolution.js.map +0 -1
  629. package/dist/gates/v8-coverage.js +0 -142
  630. package/dist/gates/v8-coverage.js.map +0 -1
  631. package/dist/gates/value-flow.js +0 -335
  632. package/dist/gates/value-flow.js.map +0 -1
  633. package/dist/gates/workspace-changes.js +0 -5
  634. package/dist/gates/workspace-changes.js.map +0 -1
  635. package/dist/integrations/claude-hook.js +0 -200
  636. package/dist/integrations/claude-hook.js.map +0 -1
  637. package/dist/integrations/launcher.js +0 -17
  638. package/dist/integrations/launcher.js.map +0 -1
  639. package/dist/integrations/mcp-server.js +0 -270
  640. package/dist/integrations/mcp-server.js.map +0 -1
  641. package/dist/integrations/pre-commit.js +0 -169
  642. package/dist/integrations/pre-commit.js.map +0 -1
  643. package/dist/machine-output.js +0 -45
  644. package/dist/machine-output.js.map +0 -1
  645. package/dist/providers/ai-sdk-model-client.js +0 -161
  646. package/dist/providers/ai-sdk-model-client.js.map +0 -1
  647. package/dist/providers/endpoint-resolution.js +0 -81
  648. package/dist/providers/endpoint-resolution.js.map +0 -1
  649. package/dist/providers/fixture-provider.js +0 -87
  650. package/dist/providers/fixture-provider.js.map +0 -1
  651. package/dist/providers/local-discovery.js +0 -38
  652. package/dist/providers/local-discovery.js.map +0 -1
  653. package/dist/providers/local-fetch.js +0 -28
  654. package/dist/providers/local-fetch.js.map +0 -1
  655. package/dist/providers/message-conversion.js +0 -40
  656. package/dist/providers/message-conversion.js.map +0 -1
  657. package/dist/providers/model-spec.js +0 -33
  658. package/dist/providers/model-spec.js.map +0 -1
  659. package/dist/providers/registry.js +0 -125
  660. package/dist/providers/registry.js.map +0 -1
  661. package/dist/providers/served-models.js +0 -59
  662. package/dist/providers/served-models.js.map +0 -1
  663. package/dist/providers/transport-trace-file.js +0 -24
  664. package/dist/providers/transport-trace-file.js.map +0 -1
  665. package/dist/providers/transport-trace.js +0 -148
  666. package/dist/providers/transport-trace.js.map +0 -1
  667. package/dist/select/backend-canary.js +0 -119
  668. package/dist/select/backend-canary.js.map +0 -1
  669. package/dist/select/backend-command.js +0 -15
  670. package/dist/select/backend-command.js.map +0 -1
  671. package/dist/select/bundled-pricing.js +0 -12
  672. package/dist/select/bundled-pricing.js.map +0 -1
  673. package/dist/select/bundled-shortlist.js +0 -13
  674. package/dist/select/bundled-shortlist.js.map +0 -1
  675. package/dist/select/calibrate.js +0 -131
  676. package/dist/select/calibrate.js.map +0 -1
  677. package/dist/select/calibration-case.js +0 -66
  678. package/dist/select/calibration-case.js.map +0 -1
  679. package/dist/select/calibration-cases.v1.json +0 -257
  680. package/dist/select/calibration-measures.js +0 -129
  681. package/dist/select/calibration-measures.js.map +0 -1
  682. package/dist/select/calibration-report.js +0 -291
  683. package/dist/select/calibration-report.js.map +0 -1
  684. package/dist/select/calibration-run.js +0 -214
  685. package/dist/select/calibration-run.js.map +0 -1
  686. package/dist/select/calibration-summary.js +0 -76
  687. package/dist/select/calibration-summary.js.map +0 -1
  688. package/dist/select/coding-models.v1.json +0 -478
  689. package/dist/select/competency-table.js +0 -164
  690. package/dist/select/competency-table.js.map +0 -1
  691. package/dist/select/dimensions.js +0 -111
  692. package/dist/select/dimensions.js.map +0 -1
  693. package/dist/select/golden-set.js +0 -89
  694. package/dist/select/golden-set.js.map +0 -1
  695. package/dist/select/hardware-probe.js +0 -107
  696. package/dist/select/hardware-probe.js.map +0 -1
  697. package/dist/select/memory-probe.js +0 -33
  698. package/dist/select/memory-probe.js.map +0 -1
  699. package/dist/select/model-fallback.js +0 -89
  700. package/dist/select/model-fallback.js.map +0 -1
  701. package/dist/select/model-preflight.js +0 -85
  702. package/dist/select/model-preflight.js.map +0 -1
  703. package/dist/select/model-pricing.v1.json +0 -17
  704. package/dist/select/pick-store.js +0 -39
  705. package/dist/select/pick-store.js.map +0 -1
  706. package/dist/select/pricing-source.js +0 -38
  707. package/dist/select/pricing-source.js.map +0 -1
  708. package/dist/select/pricing.js +0 -66
  709. package/dist/select/pricing.js.map +0 -1
  710. package/dist/select/production-routing.js +0 -66
  711. package/dist/select/production-routing.js.map +0 -1
  712. package/dist/select/published-source.js +0 -11
  713. package/dist/select/published-source.js.map +0 -1
  714. package/dist/select/recommendation.js +0 -280
  715. package/dist/select/recommendation.js.map +0 -1
  716. package/dist/select/reward.js +0 -84
  717. package/dist/select/reward.js.map +0 -1
  718. package/dist/select/routing-candidates.js +0 -29
  719. package/dist/select/routing-candidates.js.map +0 -1
  720. package/dist/select/routing-log.js +0 -94
  721. package/dist/select/routing-log.js.map +0 -1
  722. package/dist/select/routing-mode.js +0 -78
  723. package/dist/select/routing-mode.js.map +0 -1
  724. package/dist/select/routing-record.js +0 -39
  725. package/dist/select/routing-record.js.map +0 -1
  726. package/dist/select/routing-report.js +0 -95
  727. package/dist/select/routing-report.js.map +0 -1
  728. package/dist/select/select-report.js +0 -81
  729. package/dist/select/select-report.js.map +0 -1
  730. package/dist/select/servable-candidates.js +0 -30
  731. package/dist/select/servable-candidates.js.map +0 -1
  732. package/dist/select/served-pick.js +0 -36
  733. package/dist/select/served-pick.js.map +0 -1
  734. package/dist/select/shortlist-source.js +0 -102
  735. package/dist/select/shortlist-source.js.map +0 -1
  736. package/dist/select/shortlist.js +0 -132
  737. package/dist/select/shortlist.js.map +0 -1
  738. package/dist/select/system-probe.js +0 -32
  739. package/dist/select/system-probe.js.map +0 -1
  740. package/dist/select/task-class.js +0 -48
  741. package/dist/select/task-class.js.map +0 -1
  742. package/dist/select/task-cost.js +0 -62
  743. package/dist/select/task-cost.js.map +0 -1
  744. package/dist/select/ucb.js +0 -104
  745. package/dist/select/ucb.js.map +0 -1
  746. package/dist/swarm-verify.js +0 -76
  747. package/dist/swarm-verify.js.map +0 -1
  748. package/dist/task-brief.js +0 -20
  749. package/dist/task-brief.js.map +0 -1
  750. package/dist/telemetry/otel.js +0 -130
  751. package/dist/telemetry/otel.js.map +0 -1
  752. package/dist/tools/bounded-file.js +0 -66
  753. package/dist/tools/bounded-file.js.map +0 -1
  754. package/dist/tools/chokepoint-record.js +0 -71
  755. package/dist/tools/chokepoint-record.js.map +0 -1
  756. package/dist/tools/claim-reference-tool.js +0 -17
  757. package/dist/tools/claim-reference-tool.js.map +0 -1
  758. package/dist/tools/claim-tool.js +0 -59
  759. package/dist/tools/claim-tool.js.map +0 -1
  760. package/dist/tools/derivation.js +0 -127
  761. package/dist/tools/derivation.js.map +0 -1
  762. package/dist/tools/file-tools.js +0 -136
  763. package/dist/tools/file-tools.js.map +0 -1
  764. package/dist/tools/regex-safety.js +0 -663
  765. package/dist/tools/regex-safety.js.map +0 -1
  766. package/dist/tools/regex-worker.js +0 -63
  767. package/dist/tools/regex-worker.js.map +0 -1
  768. package/dist/tools/search-tool.js +0 -155
  769. package/dist/tools/search-tool.js.map +0 -1
  770. package/dist/tools/shell-canonical.js +0 -104
  771. package/dist/tools/shell-canonical.js.map +0 -1
  772. package/dist/tools/shell-tool.js +0 -85
  773. package/dist/tools/shell-tool.js.map +0 -1
  774. package/dist/tools/tool-argument-decoding.js +0 -121
  775. package/dist/tools/tool-argument-decoding.js.map +0 -1
  776. package/dist/tools/tool-definition.js +0 -15
  777. package/dist/tools/tool-definition.js.map +0 -1
  778. package/dist/tools/workspace-path.js +0 -18
  779. package/dist/tools/workspace-path.js.map +0 -1
  780. package/dist/tools/workspace-tools.js +0 -19
  781. package/dist/tools/workspace-tools.js.map +0 -1
  782. package/dist/tui/calibrate-interface.js +0 -59
  783. package/dist/tui/calibrate-interface.js.map +0 -1
  784. package/dist/tui/calibrate-screen-model.js +0 -118
  785. package/dist/tui/calibrate-screen-model.js.map +0 -1
  786. package/dist/tui/calibrate-screen.js +0 -44
  787. package/dist/tui/calibrate-screen.js.map +0 -1
  788. package/dist/tui/calibrate-store.js +0 -22
  789. package/dist/tui/calibrate-store.js.map +0 -1
  790. package/dist/tui/calibrate-view.js +0 -92
  791. package/dist/tui/calibrate-view.js.map +0 -1
  792. package/dist/tui/confirmation-queue.js +0 -62
  793. package/dist/tui/confirmation-queue.js.map +0 -1
  794. package/dist/tui/controller-screen-model.js +0 -28
  795. package/dist/tui/controller-screen-model.js.map +0 -1
  796. package/dist/tui/controller-screen.js +0 -17
  797. package/dist/tui/controller-screen.js.map +0 -1
  798. package/dist/tui/elapsed.js +0 -31
  799. package/dist/tui/elapsed.js.map +0 -1
  800. package/dist/tui/evidence-panel.js +0 -113
  801. package/dist/tui/evidence-panel.js.map +0 -1
  802. package/dist/tui/glyphs.js +0 -23
  803. package/dist/tui/glyphs.js.map +0 -1
  804. package/dist/tui/hyperlink.js +0 -38
  805. package/dist/tui/hyperlink.js.map +0 -1
  806. package/dist/tui/key-bindings.js +0 -113
  807. package/dist/tui/key-bindings.js.map +0 -1
  808. package/dist/tui/key-dispatcher.js +0 -162
  809. package/dist/tui/key-dispatcher.js.map +0 -1
  810. package/dist/tui/layout.js +0 -102
  811. package/dist/tui/layout.js.map +0 -1
  812. package/dist/tui/open-path.js +0 -76
  813. package/dist/tui/open-path.js.map +0 -1
  814. package/dist/tui/plain-lines.js +0 -53
  815. package/dist/tui/plain-lines.js.map +0 -1
  816. package/dist/tui/render-timings.js +0 -22
  817. package/dist/tui/render-timings.js.map +0 -1
  818. package/dist/tui/screen-model.js +0 -506
  819. package/dist/tui/screen-model.js.map +0 -1
  820. package/dist/tui/screen.js +0 -145
  821. package/dist/tui/screen.js.map +0 -1
  822. package/dist/tui/session-interface.js +0 -354
  823. package/dist/tui/session-interface.js.map +0 -1
  824. package/dist/tui/session-store.js +0 -28
  825. package/dist/tui/session-store.js.map +0 -1
  826. package/dist/tui/session-view.js +0 -227
  827. package/dist/tui/session-view.js.map +0 -1
  828. package/dist/tui/terminal-text.js +0 -97
  829. package/dist/tui/terminal-text.js.map +0 -1
  830. package/dist/tui/theme.js +0 -94
  831. package/dist/tui/theme.js.map +0 -1
  832. package/dist/tui/verify-bundle.js +0 -71
  833. package/dist/tui/verify-bundle.js.map +0 -1
  834. package/dist/tui/view-state.js +0 -192
  835. package/dist/tui/view-state.js.map +0 -1
  836. package/dist/workers/attempt-selector.js +0 -126
  837. package/dist/workers/attempt-selector.js.map +0 -1
  838. package/dist/workers/attempt-universe.js +0 -50
  839. package/dist/workers/attempt-universe.js.map +0 -1
  840. package/dist/workers/bootstrap-history.js +0 -67
  841. package/dist/workers/bootstrap-history.js.map +0 -1
  842. package/dist/workers/bootstrap-schema.js +0 -48
  843. package/dist/workers/bootstrap-schema.js.map +0 -1
  844. package/dist/workers/bootstrap.js +0 -257
  845. package/dist/workers/bootstrap.js.map +0 -1
  846. package/dist/workers/controller-administration.js +0 -80
  847. package/dist/workers/controller-administration.js.map +0 -1
  848. package/dist/workers/controller-cleanup.js +0 -16
  849. package/dist/workers/controller-cleanup.js.map +0 -1
  850. package/dist/workers/controller-configuration.js +0 -94
  851. package/dist/workers/controller-configuration.js.map +0 -1
  852. package/dist/workers/controller-events.js +0 -99
  853. package/dist/workers/controller-events.js.map +0 -1
  854. package/dist/workers/controller-jobs.js +0 -225
  855. package/dist/workers/controller-jobs.js.map +0 -1
  856. package/dist/workers/controller-launch.js +0 -87
  857. package/dist/workers/controller-launch.js.map +0 -1
  858. package/dist/workers/controller-owner.js +0 -65
  859. package/dist/workers/controller-owner.js.map +0 -1
  860. package/dist/workers/controller-recovery.js +0 -344
  861. package/dist/workers/controller-recovery.js.map +0 -1
  862. package/dist/workers/controller-revisions.js +0 -171
  863. package/dist/workers/controller-revisions.js.map +0 -1
  864. package/dist/workers/controller-schedule.js +0 -18
  865. package/dist/workers/controller-schedule.js.map +0 -1
  866. package/dist/workers/controller-scheduler.js +0 -282
  867. package/dist/workers/controller-scheduler.js.map +0 -1
  868. package/dist/workers/controller-scope.js +0 -59
  869. package/dist/workers/controller-scope.js.map +0 -1
  870. package/dist/workers/controller-state.js +0 -457
  871. package/dist/workers/controller-state.js.map +0 -1
  872. package/dist/workers/controller-verification.js +0 -41
  873. package/dist/workers/controller-verification.js.map +0 -1
  874. package/dist/workers/controller-view.js +0 -136
  875. package/dist/workers/controller-view.js.map +0 -1
  876. package/dist/workers/coordination.js +0 -165
  877. package/dist/workers/coordination.js.map +0 -1
  878. package/dist/workers/fan-out.js +0 -35
  879. package/dist/workers/fan-out.js.map +0 -1
  880. package/dist/workers/goal-candidates.js +0 -92
  881. package/dist/workers/goal-candidates.js.map +0 -1
  882. package/dist/workers/goal-outcome.js +0 -102
  883. package/dist/workers/goal-outcome.js.map +0 -1
  884. package/dist/workers/goal-repair.js +0 -103
  885. package/dist/workers/goal-repair.js.map +0 -1
  886. package/dist/workers/goal-selection.js +0 -81
  887. package/dist/workers/goal-selection.js.map +0 -1
  888. package/dist/workers/graph-record.js +0 -107
  889. package/dist/workers/graph-record.js.map +0 -1
  890. package/dist/workers/graph-revision.js +0 -286
  891. package/dist/workers/graph-revision.js.map +0 -1
  892. package/dist/workers/graph-tool.js +0 -65
  893. package/dist/workers/graph-tool.js.map +0 -1
  894. package/dist/workers/merge-queue.js +0 -325
  895. package/dist/workers/merge-queue.js.map +0 -1
  896. package/dist/workers/parallel-report.js +0 -87
  897. package/dist/workers/parallel-report.js.map +0 -1
  898. package/dist/workers/parallel-run.js +0 -665
  899. package/dist/workers/parallel-run.js.map +0 -1
  900. package/dist/workers/planner-run.js +0 -126
  901. package/dist/workers/planner-run.js.map +0 -1
  902. package/dist/workers/pool.js +0 -52
  903. package/dist/workers/pool.js.map +0 -1
  904. package/dist/workers/run-context.js +0 -204
  905. package/dist/workers/run-context.js.map +0 -1
  906. package/dist/workers/schedule.js +0 -64
  907. package/dist/workers/schedule.js.map +0 -1
  908. package/dist/workers/selection-record.js +0 -61
  909. package/dist/workers/selection-record.js.map +0 -1
  910. package/dist/workers/task-contract.js +0 -52
  911. package/dist/workers/task-contract.js.map +0 -1
  912. package/dist/workers/task-graph.js +0 -156
  913. package/dist/workers/task-graph.js.map +0 -1
  914. package/dist/workers/trail-tool.js +0 -27
  915. package/dist/workers/trail-tool.js.map +0 -1
  916. package/dist/workers/trail.js +0 -175
  917. package/dist/workers/trail.js.map +0 -1
  918. package/dist/workers/worktree.js +0 -225
  919. package/dist/workers/worktree.js.map +0 -1
  920. package/docs/README.md +0 -68
  921. package/docs/build-guide.md +0 -228
  922. package/docs/claims.md +0 -119
  923. package/docs/security-coverage.md +0 -652
package/CHANGELOG.md CHANGED
@@ -1,8 +1,166 @@
1
1
  # Changelog: swarm-orchestrator
2
2
 
3
- The coding agent. The standalone verifier it is built on, `swarm-verify`, has its own changelog at
4
- [packages/swarm-verify/CHANGELOG.md](packages/swarm-verify/CHANGELOG.md); an agent release names
5
- the verifier version it carries rather than repeating those entries.
3
+ The agent. The verifier it consumes, `swarm-verify`, has its own changelog in
4
+ [moonrunnerkc/swarm-verify](https://github.com/moonrunnerkc/swarm-verify/blob/main/CHANGELOG.md).
5
+
6
+ ## 16.0.0 - 2026-11-01
7
+
8
+ Swarm Orchestrator is the coding product again, and `swarm-verify` 2.0.0 is the verifier it
9
+ consumes at an exact version. A task runs on a local model found on this machine, every
10
+ requirement is checked against executed evidence, and the delivered patch comes with a signed
11
+ attestation an independent replay can rerun. 15.0.0 was tagged but never published to npm.
12
+
13
+ ### Changed
14
+
15
+ - **The verifier is a dependency, not a copy.** The embedded `src/verify`, its CLI modules and
16
+ `packages/swarm-verify` moved with their history to moonrunnerkc/swarm-verify (ADR 0015).
17
+ The agent depends on an exact `swarm-verify` version and calls its public API;
18
+ `swarm verify`, `swarm init` and `swarm ci` are the installed verifier's own commands. A
19
+ packed-consumer test installs both tarballs into a fresh prefix and runs a task through them.
20
+ - Verification artifacts of `swarm run` are written into the session directory, outside the
21
+ workspace, one directory per verification.
22
+ - `swarm verify` judges a declared test check test by test. It recognizes pytest, jest,
23
+ vitest, mocha and go test in the command, or in the `package.json` script the command names,
24
+ appends the runner's machine-readable report at base and with the change, and reads each
25
+ test as fixed, regressed, pre-existing, deleted or newly failing. A regression, a deletion
26
+ outside test files the change may edit, or a newly failing test fails the check; a test that
27
+ fails at both commits is reported and does not block. The verdict is measured whenever both
28
+ reports parse, whatever the command's exit code; it is unmeasured only when the command could
29
+ not run, its report could not be parsed, or no test in it passes with the change. A command
30
+ with no recognized runner is judged by exit code as before, and the verdict says so. See
31
+ [docs/verifying.md](https://github.com/moonrunnerkc/swarm-verify/blob/main/docs/verifying.md).
32
+
33
+ ### Added
34
+
35
+ - **`swarm run` finds a local model itself.** With no `--model` or `--endpoint`, it lists
36
+ Ollama's installed models, estimates each one's memory at the context it would use (65,536
37
+ tokens, then 32,768), probes the ones that fit with a real turn of the shell protocol, and
38
+ chooses by the share of finished tasks each completed on this machine, recorded in
39
+ `~/.swarm/profiles/`; with too few recorded, the largest that fits. The reason is printed and
40
+ reported. `swarm doctor --models` shows the same survey; when nothing fits, it says what would.
41
+ - **A requirement record**: R1 is the user's task verbatim; the model may add R2 and on and map
42
+ tests, checks, structure and package versions to each, and only the verifier sets a status.
43
+ The report lists every requirement with its evidence, the changed files (deletions named), the
44
+ model and why it was chosen, and the run's tokens, turns, inference and wall time.
45
+ - **Repository instructions** (`AGENTS.md`, `CLAUDE.md`) load deterministically, digested into the
46
+ evidence, within a byte budget; they are input to the task, never to the security policy.
47
+ - `--authorize-behavior-change` lets a test the base passes change its expectation where the change
48
+ witnesses the new behavior, and the report says so. `--review` adds one fresh-context review of a
49
+ completed change; it is off by default. `--host --linked-dependencies` verifies on the host with
50
+ the workspace's installed dependencies, reported as not isolated and not reproducible.
51
+
52
+ ### Fixed
53
+
54
+ Root causes found running real tasks on local models (docs/acceptance/2026-10-31/):
55
+
56
+ - **The agent pushed a branch to the repository its workspace came from**, in auto approval, and
57
+ cloned it to `/tmp` inside a `$(...)` command whose paths nothing checked. Pushes and package
58
+ publishes are refused in every approval mode; a command the shell reader cannot read is refused
59
+ under auto approval and asked of a person otherwise; `git stash`, which took a whole change out
60
+ of the delivered tree on a run's last step, is refused with how to see the base instead. The
61
+ reader now reads backslashes in double quotes and comments as the shell does.
62
+ - **A slow model's last turn ran past the deadline** and final verification never ran: no turn
63
+ starts that the time left cannot pay for, measured by the longest turn so far. The model is told
64
+ once when a fifth of its turns or of its time remains.
65
+ - **A Rapid-MLX reasoning parser moved the reply into `reasoning_content`**, which was dropped;
66
+ the reply is read from it where the content holds no reply form.
67
+ - Ollama connections dropped mid-turn are sent again and counted; a non-JSON reply stops the run
68
+ with what to do instead of crashing it; SIGTERM and SIGHUP finalize a run as Ctrl-C does.
69
+ - Compaction no longer tells the model to reread every file; a discovered model gets the largest
70
+ context it fits; the token budget defaults to what the steps could use at that context.
71
+ - A completion repeated on an unchanged tree is answered once with the open findings, and a
72
+ command repeated while findings are open points back at them.
73
+ - A blocked run stops with the verifier's reason; a run where no check ran says why; the summary
74
+ printed "0 s of inference" for an endpoint that reports none, and now says so.
75
+ - The managed worktree sits beside the repository, so relative dependencies resolve.
76
+ - **A run wrote into the user's repository through its git worktree.** A worktree shares the
77
+ repository's refs and config, so `git branch`, `git tag` and `git config` in auto approval
78
+ changed the user's own `.git`. The workspace is now a clone that reads the user's objects and
79
+ shares no refs, config or remote.
80
+ - **"The latest 9.x" was delivered as Stryker 10.1.1 and reported complete**, twice: the only
81
+ version read was the model's own claim. The version constraints a task's wording states are
82
+ read into its first requirement by code, no proposal can change them, and the verifier holds
83
+ the lockfile to them. The summary and report show each requirement as worded, as the model read
84
+ it, the versions it is held to, and its status.
85
+ - **The prompt grew with every turn**, the whole history resent on each: the
86
+ task and requirements stay at the front, recent turns are sent whole and older output as a
87
+ bounded excerpt with a reference to the whole, kept readable under `.swarm/outputs/`, and old
88
+ exploration is compacted without a model call only under measured pressure. `report.json`
89
+ records each turn's tokens.
90
+ - **Path-shaped text in a quoted script was refused as a path** (a sed address, test source
91
+ written through printf): only the words a program opens are offered to the path check, sed and
92
+ awk scripts are read for the files they open, and a redirect target is checked wherever it is
93
+ written. A path after an option's equals sign (`--git-dir=/elsewhere`) is checked; it was not.
94
+ - **A copied `.venv` ran the user's unchanged source.** The workspace's environment is built from
95
+ `uv.lock` (or the declared setup command, or, with no lock, `uv lock` first as the verifier
96
+ does) and the report names its interpreter.
97
+
98
+ ### Known limits
99
+
100
+ - The cross-module refactor acceptance task (tracemantle: move two modules into a new package with
101
+ shims, and move their tests) has no complete run on the local models tried. The best attempt
102
+ broke the module it moved and the verifier found the regression; a narrower attempt changed
103
+ nothing. docs/acceptance/2026-10-31/t6-comparison/ holds the task, its base and a fixed
104
+ requirement record, so another agent's patch can be judged by the same verifier.
105
+
106
+ ### Migration
107
+
108
+ - `swarm run` no longer needs `--model` and `--endpoint`; they still name a model and an
109
+ OpenAI-compatible endpoint where given. `--context` sets the context for a named model.
110
+ - Commands that were run in auto approval and contained `$(...)`, backticks, subshells, brace
111
+ groups or `sh -c` are refused: write the inner command first and its result literally.
112
+ - `swarm verify`, `swarm init` and `swarm ci` are the installed `swarm-verify` 2.0.0 commands; their
113
+ states, exit codes and predicate are described in swarm-verify's docs/migration-2.md.
114
+ - The report is `swarm-orchestrator.report/v1` in `report.json` beside `report.md`, in the
115
+ session directory.
116
+
117
+ ## 15.0.0 - 2026-10-29
118
+
119
+ The verifier-first rebuild ([ADR 0014](docs/adr/0014-verifier-first-rebuild.md)). The unreleased
120
+ 14.5.0 work (the adaptive controller, planned checks, repair and review stages) is superseded and
121
+ remains in the history of pull request #101.
122
+
123
+ ### Changed
124
+
125
+ - `swarm run "<task>"` is a single-bash-tool loop: one command per turn through the chokepoint
126
+ and path policy, the task, `git status --short` and the last verifier failure verbatim at the
127
+ top of every turn, and the verifier as the only judge of completion. It stops on a verified
128
+ tree, the step budget or the token budget, and says which. Every turn sends `max_tokens`
129
+ (`--turn-tokens`, 16,384 by default). A permanent endpoint failure (a refused connection, a
130
+ 4xx other than 429, a third 5xx in a row) stops the run as `model-error`; the verifier still
131
+ judges the tree and the outcome block prints the reason and the verdict, and a `mutant` line
132
+ when the mutant of a changed line survived.
133
+ - `swarm verify` and `swarm ci` rerun the declared checks on a change (working tree, ref range
134
+ or patch) in a clean checkout of the base, refuse protected paths changed together with
135
+ source, run held-out checks sealed with `swarm init --seal`, measure changed-line coverage
136
+ and one mutation, and write an in-toto Statement in a DSSE envelope inside a Sigstore bundle.
137
+ `packages/swarm-verify/verify.mjs` checks it with no dependencies; so does
138
+ `cosign verify-blob-attestation`.
139
+ - Every check runs at the base commit first: one that fails there and still fails is a
140
+ `pre-existing-failure` and leaves the verdict unmeasured, one that passes there and fails with
141
+ the change is a regression. Held-out checks run with a judge loaded before any project module
142
+ that fails them when the code under test patches `node:assert`, `node:test`, `unittest`,
143
+ pytest's hooks, the builtins they compare with, or the project's own test helpers.
144
+ [docs/verifying.md](docs/verifying.md) has the details and the limits.
145
+ - Checks run with `PYTHONDONTWRITEBYTECODE=1`: the base run, the change and the mutant rewrite
146
+ one file within a second, often at the same size, and Python would otherwise run the bytecode
147
+ cached from the previous version.
148
+
149
+ ### Added
150
+
151
+ - The evaluation: Harbor runs of mini-SWE-agent, OpenCode and `swarm run` on frozen SWE-bench
152
+ Verified and Terminal-Bench 2.0 lists, a committed results store, a nightly workflow for a
153
+ self-hosted runner ([docs/eval.md](docs/eval.md)), and the tamper evaluation of the verifier.
154
+ [docs/results.md](docs/results.md) is the only page with measured numbers.
155
+
156
+ ### Removed
157
+
158
+ - The parallel worker layer, model selection and calibration, the research evaluation code, the
159
+ terminal interface, the old gates engine, the custom evidence bundle format and its verifier,
160
+ the container isolation backend, and every subcommand except `verify`, `init`, `ci` and
161
+ `doctor`.
162
+ - The research evidence, campaigns, red-team passes, fuzz targets and research scripts, moved to
163
+ the archive named in [docs/evidence/README.md](docs/evidence/README.md).
6
164
 
7
165
  ## 14.4.0 - 2026-10-08
8
166
 
@@ -45,7 +203,7 @@ carried is `swarm-verify` 1.3.1, whose engine is 1.3.0's.
45
203
 
46
204
  The coding agent, `swarm-orchestrator`, released for the first time since the verifier-first
47
205
  work began. The `swarm` binary shares its verifier with `swarm-verify`, so every change published
48
- for `swarm-verify` 1.0.0 through 1.3.0 (now in [packages/swarm-verify/CHANGELOG.md](packages/swarm-verify/CHANGELOG.md))
206
+ for `swarm-verify` 1.0.0 through 1.3.0 (now in [swarm-verify's changelog](https://github.com/moonrunnerkc/swarm-verify/blob/main/CHANGELOG.md))
49
207
  is in this release too. What follows is what the
50
208
  agent itself gained; the verifier stays the primary product and the agent its advanced mode.
51
209
 
@@ -253,10 +411,10 @@ agent itself gained; the verifier stays the primary product and the agent its ad
253
411
  difference 0.0 points, 95% CI [-4.0, +4.0]. Three repairs changed bytes, none narrowed the
254
412
  implementation, two left scratch files behind. Six of the nine refusals named a tsd type-test
255
413
  file no runner executes. The protocol, rows, patches and a report that re-derives from the rows
256
- are in [`docs/evidence/2026-09-17/reach-pressure-experiment/`](docs/evidence/2026-09-17/reach-pressure-experiment/report.md).
414
+ are in the archive's [docs/evidence/2026-09-17/reach-pressure-experiment/](https://github.com/moonrunnerkc/swarm-orchestrator-archive/blob/main/docs/evidence/2026-09-17/reach-pressure-experiment/report.md).
257
415
  Two earlier generations were stopped on instrument defects and are kept beside it. The instrument
258
416
  defects it exposed, and what closed each without touching a row, are in
259
- [`docs/evidence/2026-09-18/reach-pressure-hardening/`](docs/evidence/2026-09-18/reach-pressure-hardening/README.md).
417
+ the archive's [docs/evidence/2026-09-18/reach-pressure-hardening/](https://github.com/moonrunnerkc/swarm-orchestrator-archive/blob/main/docs/evidence/2026-09-18/reach-pressure-hardening/README.md).
260
418
 
261
419
  ### Changed
262
420
 
@@ -810,290 +968,12 @@ agent itself gained; the verifier stays the primary product and the agent its ad
810
968
  reason, at the line that carries the finding. Under the workflow's own command it now reports
811
969
  zero and exits 0, so the weekly issue means something arrived that nobody has looked at.
812
970
 
813
- ## 13.1.9
814
-
815
- ### Added
816
-
817
- - **A line that says the run is alive, and what it is doing.** A spinner that turns, the current
818
- activity, how long it has been going, and while the model is talking, the tail of what it is
819
- saying. Nothing on the screen moved before this: the status said `thinking (step 3)` and
820
- stayed there, and the only thing that changed was a seconds counter the layout hides below 80
821
- columns or 12 rows, so a run taking a minute looked exactly like one that had hung.
822
- - **The model's words as they arrive.** The stream was already being drained to time the first
823
- token and every piece of text was discarded. It is handed on now. One line of it: the whole
824
- response lands in the action stream when it arrives and in the ledger for ever, and repeating
825
- it as it streams would be the same text three times.
826
- - **The tool that is running, named while it runs.** Between a tool starting and finishing
827
- nothing was emitted, which for a shell command is a screen sitting still for a minute and a
828
- half. A tool that finishes inside a frame still draws nothing, which is the right amount.
829
-
830
- ## 13.1.8
831
-
832
- ### Added
833
-
834
- - **`swarm doctor`, and `swarm doctor --fix`.** What owns the `swarm` command, and repairing it
835
- when the answer is wrong. The same failure has happened on two machines months apart and
836
- presented as something else both times: an `ENOTDIR` during a global install on one, and on
837
- the other a `swarm` with no `select` command. Both were a development checkout linked into the
838
- global prefix with `npm link`, which owns the command until it is removed and which npm cannot
839
- install over. Nothing here can intercept that at install time, because npm fails before any
840
- script of ours would run, so this answers the question afterwards instead. It reports the link
841
- and what it shadows, every `swarm` on PATH since the first one wins silently, an executable
842
- whose package a failed install removed, and whether the registry is ahead of what is running.
843
-
844
- ### Fixed
845
-
846
- - **A bare word that is nearly a subcommand is refused.** A bare word is the task, which is what
847
- makes `swarm fix the parser` work. The cost is that a subcommand a build does not have becomes
848
- a task: running `swarm doctor` against a version predating it started an agent on the
849
- repository, declared its uncommitted files and wrote a bundle. Nothing was damaged and nothing
850
- about it looked wrong. One word that is nearly a command is now refused with the nearest match
851
- named, and a task of more than one word is untouched.
852
-
853
- ## 13.1.7
854
-
855
- Found by driving the session through a real terminal rather than a pipe.
856
-
857
- ### Fixed
858
-
859
- - **Enter did not submit at the prompt.** A terminal hands over what it buffered in one read, so
860
- the newline arrived inside a longer chunk with no key flag set, and the whole chunk including
861
- the control character was typed into the task being composed. A pasted task arrives the same
862
- way, so everything before the newline is now typed and the newline still means run it.
863
- - **The screen still showed a plain `DONE` for a run that changed nothing.** The gate strip
864
- cannot tell passes over work from passes over an empty diff, and a model answering in prose
865
- stops for the honest reason `completed` having done nothing. It now reads `DONE, but no files
866
- changed`. The plain path already said this above its gate table.
867
-
868
- ## 13.1.6
869
-
870
- A session, and the evidence a person reads.
871
-
872
- ### Added
873
-
874
- - **`swarm` with no task opens a session.** One process, one ledger, tasks typed one after
875
- another, each continuing the conversation the last one left. The screen keeps what each
876
- finished turn came to, so it does not forget between them. `swarm "task"` is unchanged.
877
- - **Each turn is measured on its own.** A turn ends by recording where it left the tree, so the
878
- next turn's gates see that turn's changes and not the ones before it. Without it the second
879
- turn is charged with the first's diff and the file-set check calls the first turn's files
880
- out-of-set.
881
- - **The review page says what happened.** The header carries the tasks, the model, whether the
882
- loop completed, how long it took and what it cost, above the identifiers it used to open with.
883
- - **The gate table is in the bundle.** It was printed to a terminal and never written into the
884
- page, where the gates had been indistinguishable cards among the model calls.
885
- - **The change itself is recorded and shown.** Nothing recorded a patch, so the question the
886
- page exists to answer, what did this do to my code, meant leaving the evidence and running git.
887
-
888
- ### Fixed
889
-
890
- - **A run that changed nothing reported `DONE`.** The gates run after the loop and each gate
891
- event rewrote the status, so the last gate to pass over an empty diff became the last word on
892
- a run that built nothing. The stop reason is now its own field, and a cycle that measured no
893
- changed files says so before the table.
894
- - **A second turn measured its own edits as deletions.** `git diff <base>` from the person's
895
- index calls a file that is in the base and untracked here deleted. Changes are now measured
896
- through a scratch index, which makes the comparison tree to tree and counts a file the agent
897
- just wrote as added.
898
- - **`q` did not leave the view.** It set a flag that three things read after the fact; nothing
899
- unmounted the screen, which kept painting. It now comes down and the run reports the way it
900
- does off a terminal.
901
- - **A refused bundle named nothing.** The failing check was read off stderr and the verifier
902
- reports through stdout, so every real refusal said "no detail given" at the one moment the
903
- panel exists for.
904
- - Six record types rendered as their own bare name on the page, including the one holding what
905
- the run cost.
906
-
907
- ## 13.1.5
908
-
909
- Three fixes, all found by running the tool rather than by reading it.
910
-
911
- ### Fixed
912
-
913
- - **A routed model the backend does not serve reached dispatch.** The router picks from what a
914
- calibration measured, and a calibration is a record of a machine at a moment; the backend
915
- answering today is a separate fact, and the two drift. A model pulled into Ollama, discovery
916
- preferring rapid-mlx, and the router handed over a name that endpoint had never heard of. It
917
- answered `Not Found` three times and the run stopped at zero steps. The served list is now
918
- asked before dispatch, and a served local model, then a frontier provider whose key is set,
919
- answers instead. Substitutions are announced and recorded.
920
- - **A run that built nothing reported `DONE`.** The gates run after the loop and every gate
921
- event rewrote the status line, so the last gate to pass became the last word on the run. A
922
- loop that stopped at step zero displayed `DONE gate diff-budget: passed` in the success
923
- colour, over an empty diff. The stop reason is now its own field and the outcome leads with it.
924
- - **`git diff` outside a repository printed its whole option list.** One line of diagnosis
925
- followed by a hundred lines about `--dirstat`, with the sentence saying what to do at the
926
- bottom. Now one line, and it says to run `git init`.
927
-
928
- ## 13.1.4
929
-
930
- ### Fixed
931
-
932
- - **The readme printed an install command that cannot work.** It offered
933
- `npm install -g github:owner/repo#tag` beside the registry line. `dist/` is not committed, so a
934
- git ref builds itself on install and needs this package's devDependencies to do it, and npm
935
- does not install those under `-g`: it carries the global context into its git-dependency
936
- preparation, places the clone as a root package rather than building a tree inside it, and runs
937
- `prepare` without the compiler. The same ref installed without `-g` works and always did. Found
938
- by a person running the line the readme printed.
939
- - **That failure surfaced as `ENOENT` on a path the reader never typed.** The build now names the
940
- cause and the two commands that do work, rather than reporting a missing file.
941
-
942
- ## 13.1.3
943
-
944
- The first 13.x on the npm registry. No behaviour changed: this is 13.1.1 with a manifest the
945
- registry accepts and install instructions that are true.
946
-
947
- ### Fixed
948
-
949
- - **The manifest named no repository, so a signed publish was refused.** `npm publish
950
- --provenance` signs a statement naming the repository the tarball was built from, and the
951
- registry checks it against `repository.url` before it accepts the write. That field was
952
- absent, so the statement said one thing and the manifest said `""`, and the registry answered
953
- `E422` after the provenance had already been written to the transparency log. Nothing in the
954
- source tree can show this, so a test now asserts the field.
955
- - **The package told its own readers it was not published.** The install section named a git ref
956
- and said the registry served 12.0.0, because that is what was true while the credential was
957
- missing. Those words ship inside the tarball, so publishing 13.1.1 as it stood would have put
958
- a package on the registry whose first section denies being there. `npm install -g
959
- swarm-orchestrator` is the first line again.
960
-
961
- ### Added
962
-
963
- - A description, keywords, a homepage and a bug-tracker link, which is what the registry page
964
- renders around the readme and what a search on the registry matches against.
965
- - Three flags the readme never listed, `--base`, `--max-steps` and `--local-endpoint`, and a
966
- pointer to `swarm --help` for the calibration flags it still does not list.
967
-
968
- `13.1.2` was tagged and refused by the registry for the manifest reason above. The tag is left
969
- where it is rather than moved, because it names a real tree and the refusal is part of the
970
- record.
971
-
972
- ## 13.1.1
973
-
974
- A packaging fix. Nothing about how the tool runs changed.
975
-
976
- ### Fixed
977
-
978
- - **Installing from a git ref produced a package with no binary.** `dist/` is not committed and
979
- is built by a script, and npm runs `prepare` for a git install but never `prepublishOnly`.
980
- Only the latter was declared, so `npm install github:moonrunnerkc/swarm-orchestrator#v13.1.0`
981
- resolved, reported no error, and left a directory with no `dist/` and no `swarm`. This is the
982
- install path that matters while the registry publish is blocked, and it was the one that did
983
- not work.
984
-
985
- ## 13.1.0
986
-
987
- A run you can watch and drive, and an end-of-run panel that shows you what it produced.
988
- Everything below is additive: no flag, command or output changed meaning, and the plain-line
989
- stream a pipe or a CI job reads is byte-for-byte what it was.
990
-
991
- ### Added
992
-
993
- - **An interactive terminal interface.** On a TTY, a run draws a single screen: the task and
994
- the model in a header, the plan, the action stream, the gate strip, and a status line.
995
- Scroll it, expand a row to the whole tool input and output and the ledger record it came
996
- from, filter it, freeze the render without touching the run, and press `?` for the keymap.
997
- Two exits that are not the same thing: `q` leaves the view and lets the run finish, `ctrl+c`
998
- cancels the run.
999
- - **An end-of-run evidence panel.** What the run produced, named by what each artifact is for,
1000
- with the record count and how many claims the harness verified against how many it refused.
1001
- One keystroke opens the review page, another the bundle directory. It says the bundle
1002
- verified only if the bundle's own verifier ran in that session and exited 0, and it names the
1003
- exit code; otherwise it says "not verified in this run" and prints the command.
1004
- - **`swarm review <bundle directory>`**, which shows that same panel for any bundle already on
1005
- disk, running the same verifier. Nothing is re-run.
1006
- - **`swarm --help`**, which used to report that `--help` needs a value.
1007
- - **Screen flags**: `--no-tui` for plain lines even on a terminal, `--color` and `--no-color`,
1008
- `--open-evidence` and `--no-open-evidence`. Opening is opt-in and never happens off a
1009
- terminal.
1010
- - **Three `swarm.toml` tables**: `[interface]` (`tui`, `color`, `open_evidence`), `[theme]`
1011
- (a colour per slot), and `[keys]` (a key per action). Flags win over the file, as everything
1012
- else does. An unknown key, colour or action is a typed error naming what was wrong and what
1013
- would have been accepted.
1014
- - **Sampling settings on the wire for a calibration run**: temperature and top-p pinned and
1015
- recorded in every model-call record, with a seed per repeat. An ordinary task run sends
1016
- nothing and is unchanged.
1017
-
1018
- ### Fixed
1019
-
1020
- - **Two consumers of one stdin.** The CLI built a readline interface on `process.stdin` while
1021
- Ink held the same stdin in raw mode. A confirmation firing mid-run raced them, which is the
1022
- least acceptable place to drop a keystroke. Confirmation is now a component inside the
1023
- running screen, answered by the same key dispatcher.
1024
- - **The curated model shortlist and pricing table answered 404.** Both URLs named the branch
1025
- `main`, which is the v12 lineage and carries neither file, so `swarm select` fell back to the
1026
- bundled snapshot on every machine.
1027
- - **A missing verifier read as a refused bundle.** Node exits 1 on a module it cannot find,
1028
- which at the exit code is the same as a verifier that ran and said no. One is the absence of
1029
- a verdict.
1030
- - **Local models reported no tokens, and so cost nothing.** An OpenAI-compatible server streams
1031
- a usage chunk only when the request carries `stream_options.include_usage`, and the local
1032
- provider was not built to send it. Every local run recorded `outputTokens: 0`, so throughput
1033
- was unmeasurable and every run priced at `$0.0000`, which the routing reward is built from.
1034
- The router had been learning that local models are free.
1035
- - **One keychain message for three different failures.** A key that could not be read, an entry
1036
- holding something that is not a key, and a keychain that would not accept a new one now say
1037
- which happened and what to do about it. The middle one names the service and the account, and
1038
- says the entry can be deleted.
1039
-
1040
- ## 13.0.0
1041
-
1042
- Same package name, different product. If you installed `swarm-orchestrator` before this
1043
- release, read this before upgrading: v13 is not a newer v12, and nothing in v12's interface
1044
- survives.
1045
-
1046
- ### What v12 was, and what v13 is
1047
-
1048
- v12 was a PR auditor. It ran as a GitHub Action, read pull requests opened by AI coding
1049
- agents, looked for cheat patterns (test relaxation, mock-of-hallucination, assertion strip,
1050
- no-op fix), posted findings as a comment, and gated merges.
1051
-
1052
- v13 is a coding agent. It does the work rather than auditing somebody else's, and every
1053
- claim it makes about that work resolves to machine-captured evidence in a tamper-evident
1054
- ledger. The two share a name and nothing else: no shared history, no shared interface, no
1055
- migration path from one to the other, because there is nothing to migrate.
1056
-
1057
- ### Breaking
1058
-
1059
- - **The `swarm-audit` and `swarm-orchestrator` binaries are gone.** One binary now, `swarm`.
1060
- - **The GitHub Action is retired.** v13 ships no `action.yml`. There is no v13 equivalent of
1061
- the merge gate, and none is planned.
1062
- - **Node 24 or newer.** v12 asked for 20. The floor is not stylistic: the coverage cycle
1063
- spawns the test runner with `--test-isolation=process`, which Node 22 rejects as a bad
1064
- option, so on anything older that arm measures nothing.
1065
- - **The histories share no merge base.** v13 is a separate lineage. `git log` will not show
1066
- you v12's commits from here.
1067
-
1068
- ### If you are using v12
1069
-
1070
- Stay on it. It is tagged `v12-final` and that tag is not going away.
1071
-
1072
- npm install swarm-orchestrator@12.0.0
1073
-
1074
- That is the newest v12 the registry carries. The `v12-final` tag is at 12.1.1, which was
1075
- tagged but never published, so `@12.1.1` does not resolve; install from the tag if you need
1076
- exactly that tree.
1077
-
1078
- For the Action, pin the tag rather than a branch, since the default branch is moving to the
1079
- v13 lineage:
1080
-
1081
- uses: moonrunnerkc/swarm-orchestrator@v12-final
1082
-
1083
- ### What v13 does
1084
-
1085
- One task, start to finish, in a git workspace: plan, edit through a chokepoint that records
1086
- every tool call, run the gates, auto-resolve failures under a numeric ratchet, and export a
1087
- signed evidence bundle a stranger can verify without installing anything.
1088
-
1089
- The parts worth knowing before you try it:
1090
-
1091
- - Gate results, claim verdicts and bundle status are computed by the harness. Model prose
1092
- renders as unverified narrative and cannot render green.
1093
- - The ledger is append-only and hash-chained, signed with a key from the OS keychain.
1094
- - The bundle carries its own verifier. `node verify.mjs <bundle>` needs Node and nothing
1095
- else.
1096
- - Local model selection is measured on your hardware rather than guessed from model cards.
971
+ ## History
1097
972
 
1098
- `README.md` links each of those to a committed artifact of it happening. `docs/claims.md`
1099
- maps every claim to its evidence, and lists what this tree cannot back.
973
+ Versions 13.0.0 through 13.1.9 turned the package from v12's pull request auditor into a coding
974
+ agent whose every completion claim resolved to harness-captured evidence in a hash-chained,
975
+ signed ledger: a single tool chokepoint under a lexical path policy, gates declared as data, a
976
+ numeric ratchet across retries, measured local model selection, and an offline verifier. Earlier
977
+ major versions (v6 to v12) were a pull request auditor for AI-authored changes and share nothing
978
+ with the current interface. The full entries are in this file's git history before the
979
+ verifier-first rebuild.