swarm-orchestrator 14.4.0 → 16.0.1

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 (927) hide show
  1. package/CHANGELOG.md +221 -292
  2. package/README.md +87 -247
  3. package/dist/agent/attempts.js +74 -0
  4. package/dist/agent/attempts.js.map +1 -0
  5. package/dist/agent/command-step.js +73 -0
  6. package/dist/agent/command-step.js.map +1 -0
  7. package/dist/agent/comparable-output.js +28 -0
  8. package/dist/agent/comparable-output.js.map +1 -0
  9. package/dist/agent/context.js +101 -0
  10. package/dist/agent/context.js.map +1 -0
  11. package/dist/agent/conversation.js +95 -0
  12. package/dist/agent/conversation.js.map +1 -0
  13. package/dist/agent/exchange.js +71 -0
  14. package/dist/agent/exchange.js.map +1 -0
  15. package/dist/agent/feedback.js +19 -0
  16. package/dist/agent/feedback.js.map +1 -0
  17. package/dist/agent/finalize.js +74 -0
  18. package/dist/agent/finalize.js.map +1 -0
  19. package/dist/agent/git.js +24 -0
  20. package/dist/agent/git.js.map +1 -0
  21. package/dist/agent/instructions.js +72 -0
  22. package/dist/agent/instructions.js.map +1 -0
  23. package/dist/agent/loop-types.js +2 -0
  24. package/dist/agent/loop-types.js.map +1 -0
  25. package/dist/agent/loop.js +257 -0
  26. package/dist/agent/loop.js.map +1 -0
  27. package/dist/agent/model.js +132 -0
  28. package/dist/agent/model.js.map +1 -0
  29. package/dist/agent/prompt.js +130 -0
  30. package/dist/agent/prompt.js.map +1 -0
  31. package/dist/agent/python-environment.js +158 -0
  32. package/dist/agent/python-environment.js.map +1 -0
  33. package/dist/agent/report.js +181 -0
  34. package/dist/agent/report.js.map +1 -0
  35. package/dist/agent/requirement-lines.js +56 -0
  36. package/dist/agent/requirement-lines.js.map +1 -0
  37. package/dist/agent/requirement-record.js +80 -0
  38. package/dist/agent/requirement-record.js.map +1 -0
  39. package/dist/agent/requirements-step.js +33 -0
  40. package/dist/agent/requirements-step.js.map +1 -0
  41. package/dist/agent/review.js +111 -0
  42. package/dist/agent/review.js.map +1 -0
  43. package/dist/agent/run.js +231 -0
  44. package/dist/agent/run.js.map +1 -0
  45. package/dist/agent/usage.js +35 -0
  46. package/dist/agent/usage.js.map +1 -0
  47. package/dist/agent/verification-step.js +23 -0
  48. package/dist/agent/verification-step.js.map +1 -0
  49. package/dist/agent/verification.js +94 -0
  50. package/dist/agent/verification.js.map +1 -0
  51. package/dist/agent/version-constraints.js +121 -0
  52. package/dist/agent/version-constraints.js.map +1 -0
  53. package/dist/agent/workspace.js +102 -0
  54. package/dist/agent/workspace.js.map +1 -0
  55. package/dist/build-version.js +10 -0
  56. package/dist/build-version.js.map +1 -1
  57. package/dist/cli-command-definitions.js +28 -168
  58. package/dist/cli-command-definitions.js.map +1 -1
  59. package/dist/cli-doctor.js +122 -0
  60. package/dist/cli-doctor.js.map +1 -0
  61. package/dist/cli-main.js +30 -0
  62. package/dist/cli-main.js.map +1 -0
  63. package/dist/cli-run.js +165 -0
  64. package/dist/cli-run.js.map +1 -0
  65. package/dist/cli.js +10 -723
  66. package/dist/cli.js.map +1 -1
  67. package/dist/config/agent-config.js +69 -0
  68. package/dist/config/agent-config.js.map +1 -0
  69. package/dist/config/declared-setup.js +46 -0
  70. package/dist/config/declared-setup.js.map +1 -0
  71. package/dist/evidence/ledger-record.js +4 -72
  72. package/dist/evidence/ledger-record.js.map +1 -1
  73. package/dist/evidence/ledger.js +1 -3
  74. package/dist/evidence/ledger.js.map +1 -1
  75. package/dist/evidence/scrub-json.js +131 -0
  76. package/dist/evidence/scrub-json.js.map +1 -0
  77. package/dist/evidence/scrub.js +12 -396
  78. package/dist/evidence/scrub.js.map +1 -1
  79. package/dist/evidence/secret-spans.js +137 -0
  80. package/dist/evidence/secret-spans.js.map +1 -0
  81. package/dist/evidence/session.js +19 -82
  82. package/dist/evidence/session.js.map +1 -1
  83. package/dist/runtime/capacity.js +99 -0
  84. package/dist/runtime/capacity.js.map +1 -0
  85. package/dist/runtime/ollama.js +200 -0
  86. package/dist/runtime/ollama.js.map +1 -0
  87. package/dist/runtime/probe.js +57 -0
  88. package/dist/runtime/probe.js.map +1 -0
  89. package/dist/runtime/profile.js +101 -0
  90. package/dist/runtime/profile.js.map +1 -0
  91. package/dist/runtime/resolve.js +182 -0
  92. package/dist/runtime/resolve.js.map +1 -0
  93. package/dist/runtime/select.js +88 -0
  94. package/dist/runtime/select.js.map +1 -0
  95. package/dist/runtime/survey.js +51 -0
  96. package/dist/runtime/survey.js.map +1 -0
  97. package/dist/source.json +1 -0
  98. package/dist/tools/argument-grammars.js +90 -0
  99. package/dist/tools/argument-grammars.js.map +1 -0
  100. package/dist/tools/awk-program.js +143 -0
  101. package/dist/tools/awk-program.js.map +1 -0
  102. package/dist/tools/chokepoint.js +94 -205
  103. package/dist/tools/chokepoint.js.map +1 -1
  104. package/dist/tools/command-operands.js +55 -0
  105. package/dist/tools/command-operands.js.map +1 -0
  106. package/dist/tools/heredoc.js +57 -0
  107. package/dist/tools/heredoc.js.map +1 -0
  108. package/dist/tools/policy-guard.js +18 -3
  109. package/dist/tools/policy-guard.js.map +1 -1
  110. package/dist/tools/program-arguments.js +135 -0
  111. package/dist/tools/program-arguments.js.map +1 -0
  112. package/dist/tools/quoted-words.js +32 -0
  113. package/dist/tools/quoted-words.js.map +1 -0
  114. package/dist/tools/refused-actions.js +64 -0
  115. package/dist/tools/refused-actions.js.map +1 -0
  116. package/dist/tools/sed-script.js +278 -0
  117. package/dist/tools/sed-script.js.map +1 -0
  118. package/dist/tools/shell-command.js +70 -158
  119. package/dist/tools/shell-command.js.map +1 -1
  120. package/dist/tools/shell-paths.js +222 -0
  121. package/dist/tools/shell-paths.js.map +1 -0
  122. package/dist/tools/shell-tokens.js +133 -0
  123. package/dist/tools/shell-tokens.js.map +1 -0
  124. package/dist/tools/word-paths.js +63 -0
  125. package/dist/tools/word-paths.js.map +1 -0
  126. package/dist/tools/working-directories.js +90 -0
  127. package/dist/tools/working-directories.js.map +1 -0
  128. package/package.json +17 -44
  129. package/dist/action/artifacts.js +0 -72
  130. package/dist/action/artifacts.js.map +0 -1
  131. package/dist/action/comment.js +0 -139
  132. package/dist/action/comment.js.map +0 -1
  133. package/dist/action/environment.js +0 -106
  134. package/dist/action/environment.js.map +0 -1
  135. package/dist/action/verdict.js +0 -103
  136. package/dist/action/verdict.js.map +0 -1
  137. package/dist/action/verify.js +0 -424
  138. package/dist/action/verify.js.map +0 -1
  139. package/dist/adapters/external-agent.js +0 -141
  140. package/dist/adapters/external-agent.js.map +0 -1
  141. package/dist/agent-escalation.js +0 -74
  142. package/dist/agent-escalation.js.map +0 -1
  143. package/dist/agent-prompt.js +0 -55
  144. package/dist/agent-prompt.js.map +0 -1
  145. package/dist/agent-run.js +0 -743
  146. package/dist/agent-run.js.map +0 -1
  147. package/dist/cli-action.js +0 -117
  148. package/dist/cli-action.js.map +0 -1
  149. package/dist/cli-bond-report.js +0 -37
  150. package/dist/cli-bond-report.js.map +0 -1
  151. package/dist/cli-bundle.js +0 -64
  152. package/dist/cli-bundle.js.map +0 -1
  153. package/dist/cli-calibrate.js +0 -282
  154. package/dist/cli-calibrate.js.map +0 -1
  155. package/dist/cli-check.js +0 -341
  156. package/dist/cli-check.js.map +0 -1
  157. package/dist/cli-ci.js +0 -251
  158. package/dist/cli-ci.js.map +0 -1
  159. package/dist/cli-evidence-summary.js +0 -25
  160. package/dist/cli-evidence-summary.js.map +0 -1
  161. package/dist/cli-gates.js +0 -147
  162. package/dist/cli-gates.js.map +0 -1
  163. package/dist/cli-init.js +0 -175
  164. package/dist/cli-init.js.map +0 -1
  165. package/dist/cli-integrations.js +0 -145
  166. package/dist/cli-integrations.js.map +0 -1
  167. package/dist/cli-local-backend.js +0 -23
  168. package/dist/cli-local-backend.js.map +0 -1
  169. package/dist/cli-model-default.js +0 -107
  170. package/dist/cli-model-default.js.map +0 -1
  171. package/dist/cli-model-preflight.js +0 -18
  172. package/dist/cli-model-preflight.js.map +0 -1
  173. package/dist/cli-options.js +0 -415
  174. package/dist/cli-options.js.map +0 -1
  175. package/dist/cli-parallel-output.js +0 -158
  176. package/dist/cli-parallel-output.js.map +0 -1
  177. package/dist/cli-parallel.js +0 -585
  178. package/dist/cli-parallel.js.map +0 -1
  179. package/dist/cli-preflight.js +0 -33
  180. package/dist/cli-preflight.js.map +0 -1
  181. package/dist/cli-provider-settings.js +0 -21
  182. package/dist/cli-provider-settings.js.map +0 -1
  183. package/dist/cli-run-commands.js +0 -151
  184. package/dist/cli-run-commands.js.map +0 -1
  185. package/dist/cli-run-report.js +0 -63
  186. package/dist/cli-run-report.js.map +0 -1
  187. package/dist/cli-run-settings.js +0 -30
  188. package/dist/cli-run-settings.js.map +0 -1
  189. package/dist/cli-runtime-inputs.js +0 -25
  190. package/dist/cli-runtime-inputs.js.map +0 -1
  191. package/dist/cli-select.js +0 -122
  192. package/dist/cli-select.js.map +0 -1
  193. package/dist/cli-session.js +0 -286
  194. package/dist/cli-session.js.map +0 -1
  195. package/dist/cli-strengthen.js +0 -527
  196. package/dist/cli-strengthen.js.map +0 -1
  197. package/dist/cli-task-contract.js +0 -24
  198. package/dist/cli-task-contract.js.map +0 -1
  199. package/dist/cli-task-cost.js +0 -76
  200. package/dist/cli-task-cost.js.map +0 -1
  201. package/dist/cli-task-goal.js +0 -163
  202. package/dist/cli-task-goal.js.map +0 -1
  203. package/dist/cli-terminal.js +0 -103
  204. package/dist/cli-terminal.js.map +0 -1
  205. package/dist/cli-verdict.js +0 -144
  206. package/dist/cli-verdict.js.map +0 -1
  207. package/dist/cli-verification-evidence.js +0 -51
  208. package/dist/cli-verification-evidence.js.map +0 -1
  209. package/dist/cli-verify-options.js +0 -231
  210. package/dist/cli-verify-options.js.map +0 -1
  211. package/dist/cli-verify.js +0 -18
  212. package/dist/cli-verify.js.map +0 -1
  213. package/dist/config/approval-mode.js +0 -26
  214. package/dist/config/approval-mode.js.map +0 -1
  215. package/dist/config/init.js +0 -167
  216. package/dist/config/init.js.map +0 -1
  217. package/dist/config/interface-settings.js +0 -7
  218. package/dist/config/interface-settings.js.map +0 -1
  219. package/dist/config/node-harness.js +0 -34
  220. package/dist/config/node-harness.js.map +0 -1
  221. package/dist/config/package-discovery.js +0 -96
  222. package/dist/config/package-discovery.js.map +0 -1
  223. package/dist/config/settings.js +0 -110
  224. package/dist/config/settings.js.map +0 -1
  225. package/dist/config/swarm-toml.js +0 -249
  226. package/dist/config/swarm-toml.js.map +0 -1
  227. package/dist/core/clock.js +0 -2
  228. package/dist/core/clock.js.map +0 -1
  229. package/dist/core/compaction.js +0 -66
  230. package/dist/core/compaction.js.map +0 -1
  231. package/dist/core/degenerate-output.js +0 -44
  232. package/dist/core/degenerate-output.js.map +0 -1
  233. package/dist/core/loop-events.js +0 -2
  234. package/dist/core/loop-events.js.map +0 -1
  235. package/dist/core/loop.js +0 -385
  236. package/dist/core/loop.js.map +0 -1
  237. package/dist/core/model-cancellation.js +0 -17
  238. package/dist/core/model-cancellation.js.map +0 -1
  239. package/dist/core/model-client.js +0 -43
  240. package/dist/core/model-client.js.map +0 -1
  241. package/dist/core/random-source.js +0 -2
  242. package/dist/core/random-source.js.map +0 -1
  243. package/dist/core/termination.js +0 -20
  244. package/dist/core/termination.js.map +0 -1
  245. package/dist/core/tool-invoker.js +0 -2
  246. package/dist/core/tool-invoker.js.map +0 -1
  247. package/dist/durable/controller-location.js +0 -30
  248. package/dist/durable/controller-location.js.map +0 -1
  249. package/dist/durable/legacy-run-store.js +0 -86
  250. package/dist/durable/legacy-run-store.js.map +0 -1
  251. package/dist/durable/recovery-context.js +0 -180
  252. package/dist/durable/recovery-context.js.map +0 -1
  253. package/dist/durable/run-journal.js +0 -161
  254. package/dist/durable/run-journal.js.map +0 -1
  255. package/dist/durable/run-store.js +0 -218
  256. package/dist/durable/run-store.js.map +0 -1
  257. package/dist/durable/session-evidence.js +0 -21
  258. package/dist/durable/session-evidence.js.map +0 -1
  259. package/dist/edit-distance.js +0 -39
  260. package/dist/edit-distance.js.map +0 -1
  261. package/dist/eval/agent-session.js +0 -146
  262. package/dist/eval/agent-session.js.map +0 -1
  263. package/dist/eval/arm-dispatch.js +0 -33
  264. package/dist/eval/arm-dispatch.js.map +0 -1
  265. package/dist/eval/arms.js +0 -101
  266. package/dist/eval/arms.js.map +0 -1
  267. package/dist/eval/campaign-history.js +0 -48
  268. package/dist/eval/campaign-history.js.map +0 -1
  269. package/dist/eval/campaign-record.js +0 -232
  270. package/dist/eval/campaign-record.js.map +0 -1
  271. package/dist/eval/campaign-run.js +0 -285
  272. package/dist/eval/campaign-run.js.map +0 -1
  273. package/dist/eval/deadline-overshoot.js +0 -73
  274. package/dist/eval/deadline-overshoot.js.map +0 -1
  275. package/dist/eval/empty-patch-attribution.js +0 -19
  276. package/dist/eval/empty-patch-attribution.js.map +0 -1
  277. package/dist/eval/endpoint-health.js +0 -126
  278. package/dist/eval/endpoint-health.js.map +0 -1
  279. package/dist/eval/false-green-rate.js +0 -133
  280. package/dist/eval/false-green-rate.js.map +0 -1
  281. package/dist/eval/feedback-study-analysis.js +0 -747
  282. package/dist/eval/feedback-study-analysis.js.map +0 -1
  283. package/dist/eval/feedback-study-report.js +0 -156
  284. package/dist/eval/feedback-study-report.js.map +0 -1
  285. package/dist/eval/feedback-study.js +0 -854
  286. package/dist/eval/feedback-study.js.map +0 -1
  287. package/dist/eval/first-run-observation.js +0 -105
  288. package/dist/eval/first-run-observation.js.map +0 -1
  289. package/dist/eval/frozen-campaign.js +0 -127
  290. package/dist/eval/frozen-campaign.js.map +0 -1
  291. package/dist/eval/goal-campaign-report.js +0 -143
  292. package/dist/eval/goal-campaign-report.js.map +0 -1
  293. package/dist/eval/goal-observation.js +0 -50
  294. package/dist/eval/goal-observation.js.map +0 -1
  295. package/dist/eval/goal-protocol.js +0 -104
  296. package/dist/eval/goal-protocol.js.map +0 -1
  297. package/dist/eval/known-total.js +0 -7
  298. package/dist/eval/known-total.js.map +0 -1
  299. package/dist/eval/npm-failure.js +0 -24
  300. package/dist/eval/npm-failure.js.map +0 -1
  301. package/dist/eval/oracle-challenge.js +0 -80
  302. package/dist/eval/oracle-challenge.js.map +0 -1
  303. package/dist/eval/oracle-filter.js +0 -98
  304. package/dist/eval/oracle-filter.js.map +0 -1
  305. package/dist/eval/patch-metrics.js +0 -74
  306. package/dist/eval/patch-metrics.js.map +0 -1
  307. package/dist/eval/pr-task-judge.js +0 -241
  308. package/dist/eval/pr-task-judge.js.map +0 -1
  309. package/dist/eval/pr-task-paths.js +0 -26
  310. package/dist/eval/pr-task-paths.js.map +0 -1
  311. package/dist/eval/protocol-fixture.js +0 -97
  312. package/dist/eval/protocol-fixture.js.map +0 -1
  313. package/dist/eval/protocol.js +0 -80
  314. package/dist/eval/protocol.js.map +0 -1
  315. package/dist/eval/reach-pressure-analysis.js +0 -507
  316. package/dist/eval/reach-pressure-analysis.js.map +0 -1
  317. package/dist/eval/reach-pressure-derivation.js +0 -201
  318. package/dist/eval/reach-pressure-derivation.js.map +0 -1
  319. package/dist/eval/reach-pressure-report.js +0 -266
  320. package/dist/eval/reach-pressure-report.js.map +0 -1
  321. package/dist/eval/reach-pressure.js +0 -645
  322. package/dist/eval/reach-pressure.js.map +0 -1
  323. package/dist/eval/repair-progress.js +0 -109
  324. package/dist/eval/repair-progress.js.map +0 -1
  325. package/dist/eval/sealed-workspace.js +0 -61
  326. package/dist/eval/sealed-workspace.js.map +0 -1
  327. package/dist/eval/security-corpus.js +0 -139
  328. package/dist/eval/security-corpus.js.map +0 -1
  329. package/dist/eval/statistics.js +0 -289
  330. package/dist/eval/statistics.js.map +0 -1
  331. package/dist/eval/task-difficulty.js +0 -28
  332. package/dist/eval/task-difficulty.js.map +0 -1
  333. package/dist/eval/task-identity.js +0 -0
  334. package/dist/eval/task-identity.js.map +0 -1
  335. package/dist/eval/test-case-split.js +0 -140
  336. package/dist/eval/test-case-split.js.map +0 -1
  337. package/dist/eval/verification-closure.js +0 -56
  338. package/dist/eval/verification-closure.js.map +0 -1
  339. package/dist/evidence/acceptance-contract.js +0 -34
  340. package/dist/evidence/acceptance-contract.js.map +0 -1
  341. package/dist/evidence/attestation.js +0 -164
  342. package/dist/evidence/attestation.js.map +0 -1
  343. package/dist/evidence/behavior-check.js +0 -93
  344. package/dist/evidence/behavior-check.js.map +0 -1
  345. package/dist/evidence/blob-manifest.js +0 -183
  346. package/dist/evidence/blob-manifest.js.map +0 -1
  347. package/dist/evidence/blob-restore.js +0 -100
  348. package/dist/evidence/blob-restore.js.map +0 -1
  349. package/dist/evidence/browser-execution.js +0 -12
  350. package/dist/evidence/browser-execution.js.map +0 -1
  351. package/dist/evidence/bundle-manifest.js +0 -64
  352. package/dist/evidence/bundle-manifest.js.map +0 -1
  353. package/dist/evidence/bundle.js +0 -189
  354. package/dist/evidence/bundle.js.map +0 -1
  355. package/dist/evidence/challenge-lines.js +0 -21
  356. package/dist/evidence/challenge-lines.js.map +0 -1
  357. package/dist/evidence/ci-summary.js +0 -62
  358. package/dist/evidence/ci-summary.js.map +0 -1
  359. package/dist/evidence/claim.js +0 -123
  360. package/dist/evidence/claim.js.map +0 -1
  361. package/dist/evidence/combined-bundle.js +0 -40
  362. package/dist/evidence/combined-bundle.js.map +0 -1
  363. package/dist/evidence/dag.js +0 -151
  364. package/dist/evidence/dag.js.map +0 -1
  365. package/dist/evidence/fixtures/empty-assistant-turns.js +0 -13
  366. package/dist/evidence/fixtures/empty-assistant-turns.js.map +0 -1
  367. package/dist/evidence/frozen-json.js +0 -10
  368. package/dist/evidence/frozen-json.js.map +0 -1
  369. package/dist/evidence/goal-contract.js +0 -221
  370. package/dist/evidence/goal-contract.js.map +0 -1
  371. package/dist/evidence/latin-lookalikes.js +0 -74
  372. package/dist/evidence/latin-lookalikes.js.map +0 -1
  373. package/dist/evidence/model-call-recording.js +0 -126
  374. package/dist/evidence/model-call-recording.js.map +0 -1
  375. package/dist/evidence/predicate-catalogue.js +0 -726
  376. package/dist/evidence/predicate-catalogue.js.map +0 -1
  377. package/dist/evidence/predicate.js +0 -244
  378. package/dist/evidence/predicate.js.map +0 -1
  379. package/dist/evidence/record-index.js +0 -21
  380. package/dist/evidence/record-index.js.map +0 -1
  381. package/dist/evidence/record-kind.js +0 -34
  382. package/dist/evidence/record-kind.js.map +0 -1
  383. package/dist/evidence/replay.js +0 -114
  384. package/dist/evidence/replay.js.map +0 -1
  385. package/dist/evidence/retention.js +0 -93
  386. package/dist/evidence/retention.js.map +0 -1
  387. package/dist/evidence/review-page.js +0 -527
  388. package/dist/evidence/review-page.js.map +0 -1
  389. package/dist/evidence/routine-claims.js +0 -38
  390. package/dist/evidence/routine-claims.js.map +0 -1
  391. package/dist/evidence/run-assessment.js +0 -131
  392. package/dist/evidence/run-assessment.js.map +0 -1
  393. package/dist/evidence/run-spec.js +0 -132
  394. package/dist/evidence/run-spec.js.map +0 -1
  395. package/dist/evidence/signer-trust.js +0 -60
  396. package/dist/evidence/signer-trust.js.map +0 -1
  397. package/dist/evidence/signing.js +0 -191
  398. package/dist/evidence/signing.js.map +0 -1
  399. package/dist/evidence/task-contract.js +0 -120
  400. package/dist/evidence/task-contract.js.map +0 -1
  401. package/dist/evidence/task-preset.js +0 -52
  402. package/dist/evidence/task-preset.js.map +0 -1
  403. package/dist/evidence/transcript.js +0 -89
  404. package/dist/evidence/transcript.js.map +0 -1
  405. package/dist/evidence/turn-content.js +0 -32
  406. package/dist/evidence/turn-content.js.map +0 -1
  407. package/dist/evidence/verdict.js +0 -171
  408. package/dist/evidence/verdict.js.map +0 -1
  409. package/dist/evidence/verifier/behavior.d.mts +0 -5
  410. package/dist/evidence/verifier/behavior.mjs +0 -161
  411. package/dist/evidence/verifier/challenges.d.mts +0 -19
  412. package/dist/evidence/verifier/challenges.mjs +0 -203
  413. package/dist/evidence/verifier/controller.d.mts +0 -15
  414. package/dist/evidence/verifier/controller.mjs +0 -751
  415. package/dist/evidence/verifier/rederive.d.mts +0 -64
  416. package/dist/evidence/verifier/rederive.mjs +0 -553
  417. package/dist/evidence/verifier/status.d.mts +0 -11
  418. package/dist/evidence/verifier/status.mjs +0 -757
  419. package/dist/evidence/verifier/strengthening.d.mts +0 -18
  420. package/dist/evidence/verifier/strengthening.mjs +0 -200
  421. package/dist/evidence/verifier/upgrade.d.mts +0 -6
  422. package/dist/evidence/verifier/upgrade.mjs +0 -81
  423. package/dist/evidence/verifier/verify.d.mts +0 -47
  424. package/dist/evidence/verifier/verify.mjs +0 -1666
  425. package/dist/evidence/verify-report.js +0 -104
  426. package/dist/evidence/verify-report.js.map +0 -1
  427. package/dist/exec/child-environment.js +0 -190
  428. package/dist/exec/child-environment.js.map +0 -1
  429. package/dist/exec/container-backend.js +0 -252
  430. package/dist/exec/container-backend.js.map +0 -1
  431. package/dist/exec/container-image.js +0 -7
  432. package/dist/exec/container-image.js.map +0 -1
  433. package/dist/exec/controlled-network.js +0 -58
  434. package/dist/exec/controlled-network.js.map +0 -1
  435. package/dist/exec/execution-envelope-record.js +0 -31
  436. package/dist/exec/execution-envelope-record.js.map +0 -1
  437. package/dist/exec/execution-mode.js +0 -203
  438. package/dist/exec/execution-mode.js.map +0 -1
  439. package/dist/exec/isolation-option.js +0 -40
  440. package/dist/exec/isolation-option.js.map +0 -1
  441. package/dist/exec/resource-pool.js +0 -47
  442. package/dist/exec/resource-pool.js.map +0 -1
  443. package/dist/exec/run-cancellation.js +0 -34
  444. package/dist/exec/run-cancellation.js.map +0 -1
  445. package/dist/exec/run-envelope.js +0 -48
  446. package/dist/exec/run-envelope.js.map +0 -1
  447. package/dist/exec/run-process.js +0 -129
  448. package/dist/exec/run-process.js.map +0 -1
  449. package/dist/exec/runtime-resource.js +0 -98
  450. package/dist/exec/runtime-resource.js.map +0 -1
  451. package/dist/exec/task-contract-enforcement.js +0 -28
  452. package/dist/exec/task-contract-enforcement.js.map +0 -1
  453. package/dist/gates/acceptance-package.js +0 -75
  454. package/dist/gates/acceptance-package.js.map +0 -1
  455. package/dist/gates/approval.js +0 -59
  456. package/dist/gates/approval.js.map +0 -1
  457. package/dist/gates/auto-resolve.js +0 -342
  458. package/dist/gates/auto-resolve.js.map +0 -1
  459. package/dist/gates/base-control.js +0 -138
  460. package/dist/gates/base-control.js.map +0 -1
  461. package/dist/gates/behavior-artifacts.js +0 -88
  462. package/dist/gates/behavior-artifacts.js.map +0 -1
  463. package/dist/gates/behavior-check.js +0 -144
  464. package/dist/gates/behavior-check.js.map +0 -1
  465. package/dist/gates/behaviour-probe.js +0 -178
  466. package/dist/gates/behaviour-probe.js.map +0 -1
  467. package/dist/gates/bond-runner.js +0 -169
  468. package/dist/gates/bond-runner.js.map +0 -1
  469. package/dist/gates/bonds.js +0 -133
  470. package/dist/gates/bonds.js.map +0 -1
  471. package/dist/gates/browser-instrument-runner.mjs +0 -80
  472. package/dist/gates/browser-instrument.js +0 -33
  473. package/dist/gates/browser-instrument.js.map +0 -1
  474. package/dist/gates/browser-results.js +0 -75
  475. package/dist/gates/browser-results.js.map +0 -1
  476. package/dist/gates/certification.js +0 -69
  477. package/dist/gates/certification.js.map +0 -1
  478. package/dist/gates/change-source.js +0 -150
  479. package/dist/gates/change-source.js.map +0 -1
  480. package/dist/gates/check-admission.js +0 -218
  481. package/dist/gates/check-admission.js.map +0 -1
  482. package/dist/gates/check-network-probe.js +0 -42
  483. package/dist/gates/check-network-probe.js.map +0 -1
  484. package/dist/gates/check-plan.js +0 -269
  485. package/dist/gates/check-plan.js.map +0 -1
  486. package/dist/gates/checkout-environment.js +0 -119
  487. package/dist/gates/checkout-environment.js.map +0 -1
  488. package/dist/gates/comment-spans.js +0 -107
  489. package/dist/gates/comment-spans.js.map +0 -1
  490. package/dist/gates/contract-executor.js +0 -84
  491. package/dist/gates/contract-executor.js.map +0 -1
  492. package/dist/gates/contract-scope.js +0 -21
  493. package/dist/gates/contract-scope.js.map +0 -1
  494. package/dist/gates/contract-verification.js +0 -51
  495. package/dist/gates/contract-verification.js.map +0 -1
  496. package/dist/gates/default-gates.js +0 -197
  497. package/dist/gates/default-gates.js.map +0 -1
  498. package/dist/gates/deferred-setup.js +0 -250
  499. package/dist/gates/deferred-setup.js.map +0 -1
  500. package/dist/gates/dependency-install.js +0 -340
  501. package/dist/gates/dependency-install.js.map +0 -1
  502. package/dist/gates/engine.js +0 -171
  503. package/dist/gates/engine.js.map +0 -1
  504. package/dist/gates/environment-preflight.js +0 -108
  505. package/dist/gates/environment-preflight.js.map +0 -1
  506. package/dist/gates/escalation.js +0 -53
  507. package/dist/gates/escalation.js.map +0 -1
  508. package/dist/gates/failure-attribution.js +0 -444
  509. package/dist/gates/failure-attribution.js.map +0 -1
  510. package/dist/gates/failure-signature.js +0 -9
  511. package/dist/gates/failure-signature.js.map +0 -1
  512. package/dist/gates/file-set-tool.js +0 -107
  513. package/dist/gates/file-set-tool.js.map +0 -1
  514. package/dist/gates/file-set.js +0 -301
  515. package/dist/gates/file-set.js.map +0 -1
  516. package/dist/gates/gate-capability.js +0 -37
  517. package/dist/gates/gate-capability.js.map +0 -1
  518. package/dist/gates/gate-command.js +0 -69
  519. package/dist/gates/gate-command.js.map +0 -1
  520. package/dist/gates/gate-definition.js +0 -15
  521. package/dist/gates/gate-definition.js.map +0 -1
  522. package/dist/gates/gate-runner.js +0 -325
  523. package/dist/gates/gate-runner.js.map +0 -1
  524. package/dist/gates/gate-set-seal.js +0 -73
  525. package/dist/gates/gate-set-seal.js.map +0 -1
  526. package/dist/gates/git-workspace.js +0 -260
  527. package/dist/gates/git-workspace.js.map +0 -1
  528. package/dist/gates/github-source.js +0 -44
  529. package/dist/gates/github-source.js.map +0 -1
  530. package/dist/gates/goal-acceptance.js +0 -167
  531. package/dist/gates/goal-acceptance.js.map +0 -1
  532. package/dist/gates/goal-challenge-runner.js +0 -99
  533. package/dist/gates/goal-challenge-runner.js.map +0 -1
  534. package/dist/gates/goal-challenges.js +0 -337
  535. package/dist/gates/goal-challenges.js.map +0 -1
  536. package/dist/gates/goal-checkout.js +0 -109
  537. package/dist/gates/goal-checkout.js.map +0 -1
  538. package/dist/gates/goal-effects.js +0 -38
  539. package/dist/gates/goal-effects.js.map +0 -1
  540. package/dist/gates/harness-reporting.js +0 -71
  541. package/dist/gates/harness-reporting.js.map +0 -1
  542. package/dist/gates/http-check-runner.mjs +0 -96
  543. package/dist/gates/independent-checks.js +0 -95
  544. package/dist/gates/independent-checks.js.map +0 -1
  545. package/dist/gates/independent-verification.js +0 -1257
  546. package/dist/gates/independent-verification.js.map +0 -1
  547. package/dist/gates/inherited-changes.js +0 -26
  548. package/dist/gates/inherited-changes.js.map +0 -1
  549. package/dist/gates/inspection-gates.js +0 -430
  550. package/dist/gates/inspection-gates.js.map +0 -1
  551. package/dist/gates/instrument-dependencies.js +0 -249
  552. package/dist/gates/instrument-dependencies.js.map +0 -1
  553. package/dist/gates/instrument-identity.js +0 -794
  554. package/dist/gates/instrument-identity.js.map +0 -1
  555. package/dist/gates/measure-snapshot.js +0 -234
  556. package/dist/gates/measure-snapshot.js.map +0 -1
  557. package/dist/gates/measures.js +0 -298
  558. package/dist/gates/measures.js.map +0 -1
  559. package/dist/gates/mutant-parse.js +0 -70
  560. package/dist/gates/mutant-parse.js.map +0 -1
  561. package/dist/gates/mutant-witness.js +0 -99
  562. package/dist/gates/mutant-witness.js.map +0 -1
  563. package/dist/gates/node-command-runner.js +0 -160
  564. package/dist/gates/node-command-runner.js.map +0 -1
  565. package/dist/gates/node-gates.js +0 -122
  566. package/dist/gates/node-gates.js.map +0 -1
  567. package/dist/gates/node-test-command.js +0 -274
  568. package/dist/gates/node-test-command.js.map +0 -1
  569. package/dist/gates/noninteractive-runner.js +0 -106
  570. package/dist/gates/noninteractive-runner.js.map +0 -1
  571. package/dist/gates/oracle-bond-run.js +0 -128
  572. package/dist/gates/oracle-bond-run.js.map +0 -1
  573. package/dist/gates/oracle-bond.js +0 -49
  574. package/dist/gates/oracle-bond.js.map +0 -1
  575. package/dist/gates/oracle-instrumentation.js +0 -112
  576. package/dist/gates/oracle-instrumentation.js.map +0 -1
  577. package/dist/gates/oracle-mutants.js +0 -638
  578. package/dist/gates/oracle-mutants.js.map +0 -1
  579. package/dist/gates/oracle-reach.js +0 -175
  580. package/dist/gates/oracle-reach.js.map +0 -1
  581. package/dist/gates/package-scope.js +0 -115
  582. package/dist/gates/package-scope.js.map +0 -1
  583. package/dist/gates/parsers.js +0 -585
  584. package/dist/gates/parsers.js.map +0 -1
  585. package/dist/gates/patch-paths.js +0 -315
  586. package/dist/gates/patch-paths.js.map +0 -1
  587. package/dist/gates/prepare-dependencies.js +0 -37
  588. package/dist/gates/prepare-dependencies.js.map +0 -1
  589. package/dist/gates/prepared-python.js +0 -92
  590. package/dist/gates/prepared-python.js.map +0 -1
  591. package/dist/gates/prepared-tools.js +0 -18
  592. package/dist/gates/prepared-tools.js.map +0 -1
  593. package/dist/gates/preset-verification.js +0 -65
  594. package/dist/gates/preset-verification.js.map +0 -1
  595. package/dist/gates/project-environment.js +0 -60
  596. package/dist/gates/project-environment.js.map +0 -1
  597. package/dist/gates/project-type.js +0 -244
  598. package/dist/gates/project-type.js.map +0 -1
  599. package/dist/gates/python-gates.js +0 -93
  600. package/dist/gates/python-gates.js.map +0 -1
  601. package/dist/gates/python-mutants.js +0 -176
  602. package/dist/gates/python-mutants.js.map +0 -1
  603. package/dist/gates/python-offline-build.js +0 -274
  604. package/dist/gates/python-offline-build.js.map +0 -1
  605. package/dist/gates/ratchet-summary.js +0 -18
  606. package/dist/gates/ratchet-summary.js.map +0 -1
  607. package/dist/gates/ratchet.js +0 -207
  608. package/dist/gates/ratchet.js.map +0 -1
  609. package/dist/gates/repair-policy.js +0 -64
  610. package/dist/gates/repair-policy.js.map +0 -1
  611. package/dist/gates/resolved-path.js +0 -21
  612. package/dist/gates/resolved-path.js.map +0 -1
  613. package/dist/gates/respecification.js +0 -153
  614. package/dist/gates/respecification.js.map +0 -1
  615. package/dist/gates/runner-results.js +0 -150
  616. package/dist/gates/runner-results.js.map +0 -1
  617. package/dist/gates/scratch-index.js +0 -172
  618. package/dist/gates/scratch-index.js.map +0 -1
  619. package/dist/gates/setup-effect.js +0 -16
  620. package/dist/gates/setup-effect.js.map +0 -1
  621. package/dist/gates/setup-follow-up.js +0 -113
  622. package/dist/gates/setup-follow-up.js.map +0 -1
  623. package/dist/gates/structured-runner.js +0 -66
  624. package/dist/gates/structured-runner.js.map +0 -1
  625. package/dist/gates/turn-baseline.js +0 -98
  626. package/dist/gates/turn-baseline.js.map +0 -1
  627. package/dist/gates/unified-diff.js +0 -239
  628. package/dist/gates/unified-diff.js.map +0 -1
  629. package/dist/gates/upgrade-contract.js +0 -82
  630. package/dist/gates/upgrade-contract.js.map +0 -1
  631. package/dist/gates/upgrade-resolution.js +0 -63
  632. package/dist/gates/upgrade-resolution.js.map +0 -1
  633. package/dist/gates/v8-coverage.js +0 -142
  634. package/dist/gates/v8-coverage.js.map +0 -1
  635. package/dist/gates/value-flow.js +0 -335
  636. package/dist/gates/value-flow.js.map +0 -1
  637. package/dist/gates/workspace-changes.js +0 -5
  638. package/dist/gates/workspace-changes.js.map +0 -1
  639. package/dist/integrations/claude-hook.js +0 -200
  640. package/dist/integrations/claude-hook.js.map +0 -1
  641. package/dist/integrations/launcher.js +0 -17
  642. package/dist/integrations/launcher.js.map +0 -1
  643. package/dist/integrations/mcp-server.js +0 -270
  644. package/dist/integrations/mcp-server.js.map +0 -1
  645. package/dist/integrations/pre-commit.js +0 -169
  646. package/dist/integrations/pre-commit.js.map +0 -1
  647. package/dist/machine-output.js +0 -45
  648. package/dist/machine-output.js.map +0 -1
  649. package/dist/providers/ai-sdk-model-client.js +0 -161
  650. package/dist/providers/ai-sdk-model-client.js.map +0 -1
  651. package/dist/providers/endpoint-resolution.js +0 -81
  652. package/dist/providers/endpoint-resolution.js.map +0 -1
  653. package/dist/providers/fixture-provider.js +0 -87
  654. package/dist/providers/fixture-provider.js.map +0 -1
  655. package/dist/providers/local-discovery.js +0 -38
  656. package/dist/providers/local-discovery.js.map +0 -1
  657. package/dist/providers/local-fetch.js +0 -28
  658. package/dist/providers/local-fetch.js.map +0 -1
  659. package/dist/providers/message-conversion.js +0 -40
  660. package/dist/providers/message-conversion.js.map +0 -1
  661. package/dist/providers/model-spec.js +0 -33
  662. package/dist/providers/model-spec.js.map +0 -1
  663. package/dist/providers/registry.js +0 -125
  664. package/dist/providers/registry.js.map +0 -1
  665. package/dist/providers/served-models.js +0 -59
  666. package/dist/providers/served-models.js.map +0 -1
  667. package/dist/providers/transport-trace-file.js +0 -24
  668. package/dist/providers/transport-trace-file.js.map +0 -1
  669. package/dist/providers/transport-trace.js +0 -148
  670. package/dist/providers/transport-trace.js.map +0 -1
  671. package/dist/select/backend-canary.js +0 -119
  672. package/dist/select/backend-canary.js.map +0 -1
  673. package/dist/select/backend-command.js +0 -15
  674. package/dist/select/backend-command.js.map +0 -1
  675. package/dist/select/bundled-pricing.js +0 -12
  676. package/dist/select/bundled-pricing.js.map +0 -1
  677. package/dist/select/bundled-shortlist.js +0 -13
  678. package/dist/select/bundled-shortlist.js.map +0 -1
  679. package/dist/select/calibrate.js +0 -131
  680. package/dist/select/calibrate.js.map +0 -1
  681. package/dist/select/calibration-case.js +0 -66
  682. package/dist/select/calibration-case.js.map +0 -1
  683. package/dist/select/calibration-cases.v1.json +0 -257
  684. package/dist/select/calibration-measures.js +0 -129
  685. package/dist/select/calibration-measures.js.map +0 -1
  686. package/dist/select/calibration-report.js +0 -291
  687. package/dist/select/calibration-report.js.map +0 -1
  688. package/dist/select/calibration-run.js +0 -214
  689. package/dist/select/calibration-run.js.map +0 -1
  690. package/dist/select/calibration-summary.js +0 -76
  691. package/dist/select/calibration-summary.js.map +0 -1
  692. package/dist/select/coding-models.v1.json +0 -478
  693. package/dist/select/competency-table.js +0 -164
  694. package/dist/select/competency-table.js.map +0 -1
  695. package/dist/select/dimensions.js +0 -111
  696. package/dist/select/dimensions.js.map +0 -1
  697. package/dist/select/golden-set.js +0 -89
  698. package/dist/select/golden-set.js.map +0 -1
  699. package/dist/select/hardware-probe.js +0 -107
  700. package/dist/select/hardware-probe.js.map +0 -1
  701. package/dist/select/memory-probe.js +0 -33
  702. package/dist/select/memory-probe.js.map +0 -1
  703. package/dist/select/model-fallback.js +0 -89
  704. package/dist/select/model-fallback.js.map +0 -1
  705. package/dist/select/model-preflight.js +0 -85
  706. package/dist/select/model-preflight.js.map +0 -1
  707. package/dist/select/model-pricing.v1.json +0 -17
  708. package/dist/select/pick-store.js +0 -39
  709. package/dist/select/pick-store.js.map +0 -1
  710. package/dist/select/pricing-source.js +0 -38
  711. package/dist/select/pricing-source.js.map +0 -1
  712. package/dist/select/pricing.js +0 -66
  713. package/dist/select/pricing.js.map +0 -1
  714. package/dist/select/production-routing.js +0 -66
  715. package/dist/select/production-routing.js.map +0 -1
  716. package/dist/select/published-source.js +0 -11
  717. package/dist/select/published-source.js.map +0 -1
  718. package/dist/select/recommendation.js +0 -280
  719. package/dist/select/recommendation.js.map +0 -1
  720. package/dist/select/reward.js +0 -84
  721. package/dist/select/reward.js.map +0 -1
  722. package/dist/select/routing-candidates.js +0 -29
  723. package/dist/select/routing-candidates.js.map +0 -1
  724. package/dist/select/routing-log.js +0 -94
  725. package/dist/select/routing-log.js.map +0 -1
  726. package/dist/select/routing-mode.js +0 -78
  727. package/dist/select/routing-mode.js.map +0 -1
  728. package/dist/select/routing-record.js +0 -39
  729. package/dist/select/routing-record.js.map +0 -1
  730. package/dist/select/routing-report.js +0 -95
  731. package/dist/select/routing-report.js.map +0 -1
  732. package/dist/select/select-report.js +0 -81
  733. package/dist/select/select-report.js.map +0 -1
  734. package/dist/select/servable-candidates.js +0 -30
  735. package/dist/select/servable-candidates.js.map +0 -1
  736. package/dist/select/served-pick.js +0 -36
  737. package/dist/select/served-pick.js.map +0 -1
  738. package/dist/select/shortlist-source.js +0 -102
  739. package/dist/select/shortlist-source.js.map +0 -1
  740. package/dist/select/shortlist.js +0 -132
  741. package/dist/select/shortlist.js.map +0 -1
  742. package/dist/select/system-probe.js +0 -32
  743. package/dist/select/system-probe.js.map +0 -1
  744. package/dist/select/task-class.js +0 -48
  745. package/dist/select/task-class.js.map +0 -1
  746. package/dist/select/task-cost.js +0 -62
  747. package/dist/select/task-cost.js.map +0 -1
  748. package/dist/select/ucb.js +0 -104
  749. package/dist/select/ucb.js.map +0 -1
  750. package/dist/swarm-verify.js +0 -76
  751. package/dist/swarm-verify.js.map +0 -1
  752. package/dist/task-brief.js +0 -20
  753. package/dist/task-brief.js.map +0 -1
  754. package/dist/telemetry/otel.js +0 -130
  755. package/dist/telemetry/otel.js.map +0 -1
  756. package/dist/tools/bounded-file.js +0 -66
  757. package/dist/tools/bounded-file.js.map +0 -1
  758. package/dist/tools/chokepoint-record.js +0 -71
  759. package/dist/tools/chokepoint-record.js.map +0 -1
  760. package/dist/tools/claim-reference-tool.js +0 -17
  761. package/dist/tools/claim-reference-tool.js.map +0 -1
  762. package/dist/tools/claim-tool.js +0 -59
  763. package/dist/tools/claim-tool.js.map +0 -1
  764. package/dist/tools/derivation.js +0 -127
  765. package/dist/tools/derivation.js.map +0 -1
  766. package/dist/tools/file-tools.js +0 -136
  767. package/dist/tools/file-tools.js.map +0 -1
  768. package/dist/tools/regex-safety.js +0 -663
  769. package/dist/tools/regex-safety.js.map +0 -1
  770. package/dist/tools/regex-worker.js +0 -63
  771. package/dist/tools/regex-worker.js.map +0 -1
  772. package/dist/tools/search-tool.js +0 -155
  773. package/dist/tools/search-tool.js.map +0 -1
  774. package/dist/tools/shell-canonical.js +0 -104
  775. package/dist/tools/shell-canonical.js.map +0 -1
  776. package/dist/tools/shell-tool.js +0 -85
  777. package/dist/tools/shell-tool.js.map +0 -1
  778. package/dist/tools/tool-argument-decoding.js +0 -121
  779. package/dist/tools/tool-argument-decoding.js.map +0 -1
  780. package/dist/tools/tool-definition.js +0 -15
  781. package/dist/tools/tool-definition.js.map +0 -1
  782. package/dist/tools/workspace-path.js +0 -18
  783. package/dist/tools/workspace-path.js.map +0 -1
  784. package/dist/tools/workspace-tools.js +0 -19
  785. package/dist/tools/workspace-tools.js.map +0 -1
  786. package/dist/tui/calibrate-interface.js +0 -59
  787. package/dist/tui/calibrate-interface.js.map +0 -1
  788. package/dist/tui/calibrate-screen-model.js +0 -118
  789. package/dist/tui/calibrate-screen-model.js.map +0 -1
  790. package/dist/tui/calibrate-screen.js +0 -44
  791. package/dist/tui/calibrate-screen.js.map +0 -1
  792. package/dist/tui/calibrate-store.js +0 -22
  793. package/dist/tui/calibrate-store.js.map +0 -1
  794. package/dist/tui/calibrate-view.js +0 -92
  795. package/dist/tui/calibrate-view.js.map +0 -1
  796. package/dist/tui/confirmation-queue.js +0 -62
  797. package/dist/tui/confirmation-queue.js.map +0 -1
  798. package/dist/tui/controller-screen-model.js +0 -28
  799. package/dist/tui/controller-screen-model.js.map +0 -1
  800. package/dist/tui/controller-screen.js +0 -17
  801. package/dist/tui/controller-screen.js.map +0 -1
  802. package/dist/tui/elapsed.js +0 -31
  803. package/dist/tui/elapsed.js.map +0 -1
  804. package/dist/tui/evidence-panel.js +0 -113
  805. package/dist/tui/evidence-panel.js.map +0 -1
  806. package/dist/tui/glyphs.js +0 -23
  807. package/dist/tui/glyphs.js.map +0 -1
  808. package/dist/tui/hyperlink.js +0 -38
  809. package/dist/tui/hyperlink.js.map +0 -1
  810. package/dist/tui/key-bindings.js +0 -113
  811. package/dist/tui/key-bindings.js.map +0 -1
  812. package/dist/tui/key-dispatcher.js +0 -162
  813. package/dist/tui/key-dispatcher.js.map +0 -1
  814. package/dist/tui/layout.js +0 -102
  815. package/dist/tui/layout.js.map +0 -1
  816. package/dist/tui/open-path.js +0 -76
  817. package/dist/tui/open-path.js.map +0 -1
  818. package/dist/tui/plain-lines.js +0 -53
  819. package/dist/tui/plain-lines.js.map +0 -1
  820. package/dist/tui/render-timings.js +0 -22
  821. package/dist/tui/render-timings.js.map +0 -1
  822. package/dist/tui/screen-model.js +0 -506
  823. package/dist/tui/screen-model.js.map +0 -1
  824. package/dist/tui/screen.js +0 -145
  825. package/dist/tui/screen.js.map +0 -1
  826. package/dist/tui/session-interface.js +0 -354
  827. package/dist/tui/session-interface.js.map +0 -1
  828. package/dist/tui/session-store.js +0 -28
  829. package/dist/tui/session-store.js.map +0 -1
  830. package/dist/tui/session-view.js +0 -227
  831. package/dist/tui/session-view.js.map +0 -1
  832. package/dist/tui/terminal-text.js +0 -97
  833. package/dist/tui/terminal-text.js.map +0 -1
  834. package/dist/tui/theme.js +0 -94
  835. package/dist/tui/theme.js.map +0 -1
  836. package/dist/tui/verify-bundle.js +0 -71
  837. package/dist/tui/verify-bundle.js.map +0 -1
  838. package/dist/tui/view-state.js +0 -192
  839. package/dist/tui/view-state.js.map +0 -1
  840. package/dist/workers/attempt-selector.js +0 -126
  841. package/dist/workers/attempt-selector.js.map +0 -1
  842. package/dist/workers/attempt-universe.js +0 -50
  843. package/dist/workers/attempt-universe.js.map +0 -1
  844. package/dist/workers/bootstrap-history.js +0 -67
  845. package/dist/workers/bootstrap-history.js.map +0 -1
  846. package/dist/workers/bootstrap-schema.js +0 -48
  847. package/dist/workers/bootstrap-schema.js.map +0 -1
  848. package/dist/workers/bootstrap.js +0 -257
  849. package/dist/workers/bootstrap.js.map +0 -1
  850. package/dist/workers/controller-administration.js +0 -80
  851. package/dist/workers/controller-administration.js.map +0 -1
  852. package/dist/workers/controller-cleanup.js +0 -16
  853. package/dist/workers/controller-cleanup.js.map +0 -1
  854. package/dist/workers/controller-configuration.js +0 -94
  855. package/dist/workers/controller-configuration.js.map +0 -1
  856. package/dist/workers/controller-events.js +0 -99
  857. package/dist/workers/controller-events.js.map +0 -1
  858. package/dist/workers/controller-jobs.js +0 -225
  859. package/dist/workers/controller-jobs.js.map +0 -1
  860. package/dist/workers/controller-launch.js +0 -87
  861. package/dist/workers/controller-launch.js.map +0 -1
  862. package/dist/workers/controller-owner.js +0 -65
  863. package/dist/workers/controller-owner.js.map +0 -1
  864. package/dist/workers/controller-recovery.js +0 -344
  865. package/dist/workers/controller-recovery.js.map +0 -1
  866. package/dist/workers/controller-revisions.js +0 -171
  867. package/dist/workers/controller-revisions.js.map +0 -1
  868. package/dist/workers/controller-schedule.js +0 -18
  869. package/dist/workers/controller-schedule.js.map +0 -1
  870. package/dist/workers/controller-scheduler.js +0 -282
  871. package/dist/workers/controller-scheduler.js.map +0 -1
  872. package/dist/workers/controller-scope.js +0 -59
  873. package/dist/workers/controller-scope.js.map +0 -1
  874. package/dist/workers/controller-state.js +0 -457
  875. package/dist/workers/controller-state.js.map +0 -1
  876. package/dist/workers/controller-verification.js +0 -41
  877. package/dist/workers/controller-verification.js.map +0 -1
  878. package/dist/workers/controller-view.js +0 -136
  879. package/dist/workers/controller-view.js.map +0 -1
  880. package/dist/workers/coordination.js +0 -165
  881. package/dist/workers/coordination.js.map +0 -1
  882. package/dist/workers/fan-out.js +0 -35
  883. package/dist/workers/fan-out.js.map +0 -1
  884. package/dist/workers/goal-candidates.js +0 -92
  885. package/dist/workers/goal-candidates.js.map +0 -1
  886. package/dist/workers/goal-outcome.js +0 -102
  887. package/dist/workers/goal-outcome.js.map +0 -1
  888. package/dist/workers/goal-repair.js +0 -103
  889. package/dist/workers/goal-repair.js.map +0 -1
  890. package/dist/workers/goal-selection.js +0 -81
  891. package/dist/workers/goal-selection.js.map +0 -1
  892. package/dist/workers/graph-record.js +0 -107
  893. package/dist/workers/graph-record.js.map +0 -1
  894. package/dist/workers/graph-revision.js +0 -286
  895. package/dist/workers/graph-revision.js.map +0 -1
  896. package/dist/workers/graph-tool.js +0 -65
  897. package/dist/workers/graph-tool.js.map +0 -1
  898. package/dist/workers/merge-queue.js +0 -325
  899. package/dist/workers/merge-queue.js.map +0 -1
  900. package/dist/workers/parallel-report.js +0 -87
  901. package/dist/workers/parallel-report.js.map +0 -1
  902. package/dist/workers/parallel-run.js +0 -665
  903. package/dist/workers/parallel-run.js.map +0 -1
  904. package/dist/workers/planner-run.js +0 -126
  905. package/dist/workers/planner-run.js.map +0 -1
  906. package/dist/workers/pool.js +0 -52
  907. package/dist/workers/pool.js.map +0 -1
  908. package/dist/workers/run-context.js +0 -204
  909. package/dist/workers/run-context.js.map +0 -1
  910. package/dist/workers/schedule.js +0 -64
  911. package/dist/workers/schedule.js.map +0 -1
  912. package/dist/workers/selection-record.js +0 -61
  913. package/dist/workers/selection-record.js.map +0 -1
  914. package/dist/workers/task-contract.js +0 -52
  915. package/dist/workers/task-contract.js.map +0 -1
  916. package/dist/workers/task-graph.js +0 -156
  917. package/dist/workers/task-graph.js.map +0 -1
  918. package/dist/workers/trail-tool.js +0 -27
  919. package/dist/workers/trail-tool.js.map +0 -1
  920. package/dist/workers/trail.js +0 -175
  921. package/dist/workers/trail.js.map +0 -1
  922. package/dist/workers/worktree.js +0 -225
  923. package/dist/workers/worktree.js.map +0 -1
  924. package/docs/README.md +0 -68
  925. package/docs/build-guide.md +0 -228
  926. package/docs/claims.md +0 -119
  927. package/docs/security-coverage.md +0 -652
package/CHANGELOG.md CHANGED
@@ -1,8 +1,215 @@
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.1 - 2026-11-03
7
+
8
+ A patch release: three agent-loop defects and the swarm-verify 2.0.1 pin, from the follow-ups
9
+ of the 16.0.0 acceptance run. No new option, command or format.
10
+
11
+ ### Fixed
12
+
13
+ - **A rerun of a passing test command counted as progress.** The no-progress rule compared a
14
+ command's output byte for byte, and vitest prints its start time and duration on every run, so
15
+ one model ran the same passing test file 36 times until the step budget. The comparison now
16
+ takes out colour codes, clock times, timestamps, durations and temporary paths; the model still
17
+ reads the output as printed.
18
+ - **The same requirements block, sent again without the completion marker, kept the run going.**
19
+ A model wrote "The task is complete" in prose 29 times running and never sent the marker. A
20
+ block that leaves the requirement record unchanged, right after another block, now stops the
21
+ loop as no progress, and finalization judges the tree.
22
+ - **A relative path after `cd` was read from the workspace root.** `cd src/pkg && grep x
23
+ ../../tests` was refused as outside the workspace, and `cd .git && cat config` was checked as a
24
+ root file named `config` and allowed, though it reads `.git/config`, which the credential
25
+ denylist refuses. Each path is now read from the directory the command would open it in,
26
+ following `cd`, `pushd` and `chdir`; a `cd` the reader cannot name makes the command unreadable.
27
+ - **swarm-verify 2.0.1**, pinned exactly. A refused dependency preparation is recorded as refused
28
+ and its replay meets the same refusal, where 2.0.0 recorded no preparation and the replay
29
+ diverged. A test file moved and edited (one more `.parent` to reach its fixtures) is judged by
30
+ its base version at the new path, where 2.0.0 read it as deleted and ran both copies. A judged
31
+ process ended by a signal no longer reads as tampering, and a worker thread its runner
32
+ terminated is named as unchecked rather than failing the held-out check; a relative `SWARM_HOME` keeps its sealed checks; the mutation pass no longer mutates
33
+ inside multi-line strings and comments. See swarm-verify's changelog.
34
+
35
+ ### Corrected
36
+
37
+ - 16.0.0's known limit said the best cross-module refactor attempt (tracemantle) "broke the
38
+ module it moved". It did not: `history_io.py` was a working re-export, and the seven failures
39
+ are the tests that read fixtures, in a test file moved without the path to them. swarm-verify
40
+ 2.0.0 also refused the correct move, which edits that path; that was the verifier defect fixed
41
+ in 2.0.1.
42
+ - Rerun once against 2.0.1 with the same local model (gemma4-31b-greedy-128k, isolated, session
43
+ 20261103T175257-900062), the task is still incomplete: the model moved both modules with working
44
+ shims and moved the three test files byte for byte, so the same seven fixture tests fail. 2.0.1
45
+ read the three moves and attributed the seven failures to them; the replay agrees. The
46
+ limitation stands, as a limit of the models tried: no local model has completed the task.
47
+
48
+ ### Added
49
+
50
+ - docs/acceptance/2026-10-31/: the two isolated fix runs from real bug-fix commits, with the fix
51
+ commit's test sealed as a held-out check (`f-fix-isolated/`; neither completed, so the fix
52
+ category stays host-verified only), the comparison of t6 and h2 done by hand with the local
53
+ runs (`comparison/`), and the t6 rerun against 2.0.1 (`t6-tracemantle/closing-attempt-3/`).
54
+
55
+ ## 16.0.0 - 2026-11-01
56
+
57
+ Swarm Orchestrator is the coding product again, and `swarm-verify` 2.0.0 is the verifier it
58
+ consumes at an exact version. A task runs on a local model found on this machine, every
59
+ requirement is checked against executed evidence, and the delivered patch comes with a signed
60
+ attestation an independent replay can rerun. 15.0.0 was tagged but never published to npm.
61
+
62
+ ### Changed
63
+
64
+ - **The verifier is a dependency, not a copy.** The embedded `src/verify`, its CLI modules and
65
+ `packages/swarm-verify` moved with their history to moonrunnerkc/swarm-verify (ADR 0015).
66
+ The agent depends on an exact `swarm-verify` version and calls its public API;
67
+ `swarm verify`, `swarm init` and `swarm ci` are the installed verifier's own commands. A
68
+ packed-consumer test installs both tarballs into a fresh prefix and runs a task through them.
69
+ - Verification artifacts of `swarm run` are written into the session directory, outside the
70
+ workspace, one directory per verification.
71
+ - `swarm verify` judges a declared test check test by test. It recognizes pytest, jest,
72
+ vitest, mocha and go test in the command, or in the `package.json` script the command names,
73
+ appends the runner's machine-readable report at base and with the change, and reads each
74
+ test as fixed, regressed, pre-existing, deleted or newly failing. A regression, a deletion
75
+ outside test files the change may edit, or a newly failing test fails the check; a test that
76
+ fails at both commits is reported and does not block. The verdict is measured whenever both
77
+ reports parse, whatever the command's exit code; it is unmeasured only when the command could
78
+ not run, its report could not be parsed, or no test in it passes with the change. A command
79
+ with no recognized runner is judged by exit code as before, and the verdict says so. See
80
+ [docs/verifying.md](https://github.com/moonrunnerkc/swarm-verify/blob/main/docs/verifying.md).
81
+
82
+ ### Added
83
+
84
+ - **`swarm run` finds a local model itself.** With no `--model` or `--endpoint`, it lists
85
+ Ollama's installed models, estimates each one's memory at the context it would use (65,536
86
+ tokens, then 32,768), probes the ones that fit with a real turn of the shell protocol, and
87
+ chooses by the share of finished tasks each completed on this machine, recorded in
88
+ `~/.swarm/profiles/`; with too few recorded, the largest that fits. The reason is printed and
89
+ reported. `swarm doctor --models` shows the same survey; when nothing fits, it says what would.
90
+ - **A requirement record**: R1 is the user's task verbatim; the model may add R2 and on and map
91
+ tests, checks, structure and package versions to each, and only the verifier sets a status.
92
+ The report lists every requirement with its evidence, the changed files (deletions named), the
93
+ model and why it was chosen, and the run's tokens, turns, inference and wall time.
94
+ - **Repository instructions** (`AGENTS.md`, `CLAUDE.md`) load deterministically, digested into the
95
+ evidence, within a byte budget; they are input to the task, never to the security policy.
96
+ - `--authorize-behavior-change` lets a test the base passes change its expectation where the change
97
+ witnesses the new behavior, and the report says so. `--review` adds one fresh-context review of a
98
+ completed change; it is off by default. `--host --linked-dependencies` verifies on the host with
99
+ the workspace's installed dependencies, reported as not isolated and not reproducible.
100
+
101
+ ### Fixed
102
+
103
+ Root causes found running real tasks on local models (docs/acceptance/2026-10-31/):
104
+
105
+ - **The agent pushed a branch to the repository its workspace came from**, in auto approval, and
106
+ cloned it to `/tmp` inside a `$(...)` command whose paths nothing checked. Pushes and package
107
+ publishes are refused in every approval mode; a command the shell reader cannot read is refused
108
+ under auto approval and asked of a person otherwise; `git stash`, which took a whole change out
109
+ of the delivered tree on a run's last step, is refused with how to see the base instead. The
110
+ reader now reads backslashes in double quotes and comments as the shell does.
111
+ - **A slow model's last turn ran past the deadline** and final verification never ran: no turn
112
+ starts that the time left cannot pay for, measured by the longest turn so far. The model is told
113
+ once when a fifth of its turns or of its time remains.
114
+ - **A Rapid-MLX reasoning parser moved the reply into `reasoning_content`**, which was dropped;
115
+ the reply is read from it where the content holds no reply form.
116
+ - Ollama connections dropped mid-turn are sent again and counted; a non-JSON reply stops the run
117
+ with what to do instead of crashing it; SIGTERM and SIGHUP finalize a run as Ctrl-C does.
118
+ - Compaction no longer tells the model to reread every file; a discovered model gets the largest
119
+ context it fits; the token budget defaults to what the steps could use at that context.
120
+ - A completion repeated on an unchanged tree is answered once with the open findings, and a
121
+ command repeated while findings are open points back at them.
122
+ - A blocked run stops with the verifier's reason; a run where no check ran says why; the summary
123
+ printed "0 s of inference" for an endpoint that reports none, and now says so.
124
+ - The managed worktree sits beside the repository, so relative dependencies resolve.
125
+ - **A run wrote into the user's repository through its git worktree.** A worktree shares the
126
+ repository's refs and config, so `git branch`, `git tag` and `git config` in auto approval
127
+ changed the user's own `.git`. The workspace is now a clone that reads the user's objects and
128
+ shares no refs, config or remote.
129
+ - **"The latest 9.x" was delivered as Stryker 10.1.1 and reported complete**, twice: the only
130
+ version read was the model's own claim. The version constraints a task's wording states are
131
+ read into its first requirement by code, no proposal can change them, and the verifier holds
132
+ the lockfile to them. The summary and report show each requirement as worded, as the model read
133
+ it, the versions it is held to, and its status.
134
+ - **The prompt grew with every turn**, the whole history resent on each: the
135
+ task and requirements stay at the front, recent turns are sent whole and older output as a
136
+ bounded excerpt with a reference to the whole, kept readable under `.swarm/outputs/`, and old
137
+ exploration is compacted without a model call only under measured pressure. `report.json`
138
+ records each turn's tokens.
139
+ - **Path-shaped text in a quoted script was refused as a path** (a sed address, test source
140
+ written through printf): only the words a program opens are offered to the path check, sed and
141
+ awk scripts are read for the files they open, and a redirect target is checked wherever it is
142
+ written. A path after an option's equals sign (`--git-dir=/elsewhere`) is checked; it was not.
143
+ - **A copied `.venv` ran the user's unchanged source.** The workspace's environment is built from
144
+ `uv.lock` (or the declared setup command, or, with no lock, `uv lock` first as the verifier
145
+ does) and the report names its interpreter.
146
+
147
+ ### Known limits
148
+
149
+ - The cross-module refactor acceptance task (tracemantle: move two modules into a new package with
150
+ shims, and move their tests) has no complete run on the local models tried. The best attempt
151
+ broke the module it moved and the verifier found the regression; a narrower attempt changed
152
+ nothing. docs/acceptance/2026-10-31/t6-comparison/ holds the task, its base and a fixed
153
+ requirement record, so another agent's patch can be judged by the same verifier.
154
+
155
+ ### Migration
156
+
157
+ - `swarm run` no longer needs `--model` and `--endpoint`; they still name a model and an
158
+ OpenAI-compatible endpoint where given. `--context` sets the context for a named model.
159
+ - Commands that were run in auto approval and contained `$(...)`, backticks, subshells, brace
160
+ groups or `sh -c` are refused: write the inner command first and its result literally.
161
+ - `swarm verify`, `swarm init` and `swarm ci` are the installed `swarm-verify` 2.0.0 commands; their
162
+ states, exit codes and predicate are described in swarm-verify's docs/migration-2.md.
163
+ - The report is `swarm-orchestrator.report/v1` in `report.json` beside `report.md`, in the
164
+ session directory.
165
+
166
+ ## 15.0.0 - 2026-10-29
167
+
168
+ The verifier-first rebuild ([ADR 0014](docs/adr/0014-verifier-first-rebuild.md)). The unreleased
169
+ 14.5.0 work (the adaptive controller, planned checks, repair and review stages) is superseded and
170
+ remains in the history of pull request #101.
171
+
172
+ ### Changed
173
+
174
+ - `swarm run "<task>"` is a single-bash-tool loop: one command per turn through the chokepoint
175
+ and path policy, the task, `git status --short` and the last verifier failure verbatim at the
176
+ top of every turn, and the verifier as the only judge of completion. It stops on a verified
177
+ tree, the step budget or the token budget, and says which. Every turn sends `max_tokens`
178
+ (`--turn-tokens`, 16,384 by default). A permanent endpoint failure (a refused connection, a
179
+ 4xx other than 429, a third 5xx in a row) stops the run as `model-error`; the verifier still
180
+ judges the tree and the outcome block prints the reason and the verdict, and a `mutant` line
181
+ when the mutant of a changed line survived.
182
+ - `swarm verify` and `swarm ci` rerun the declared checks on a change (working tree, ref range
183
+ or patch) in a clean checkout of the base, refuse protected paths changed together with
184
+ source, run held-out checks sealed with `swarm init --seal`, measure changed-line coverage
185
+ and one mutation, and write an in-toto Statement in a DSSE envelope inside a Sigstore bundle.
186
+ `packages/swarm-verify/verify.mjs` checks it with no dependencies; so does
187
+ `cosign verify-blob-attestation`.
188
+ - Every check runs at the base commit first: one that fails there and still fails is a
189
+ `pre-existing-failure` and leaves the verdict unmeasured, one that passes there and fails with
190
+ the change is a regression. Held-out checks run with a judge loaded before any project module
191
+ that fails them when the code under test patches `node:assert`, `node:test`, `unittest`,
192
+ pytest's hooks, the builtins they compare with, or the project's own test helpers.
193
+ [docs/verifying.md](docs/verifying.md) has the details and the limits.
194
+ - Checks run with `PYTHONDONTWRITEBYTECODE=1`: the base run, the change and the mutant rewrite
195
+ one file within a second, often at the same size, and Python would otherwise run the bytecode
196
+ cached from the previous version.
197
+
198
+ ### Added
199
+
200
+ - The evaluation: Harbor runs of mini-SWE-agent, OpenCode and `swarm run` on frozen SWE-bench
201
+ Verified and Terminal-Bench 2.0 lists, a committed results store, a nightly workflow for a
202
+ self-hosted runner ([docs/eval.md](docs/eval.md)), and the tamper evaluation of the verifier.
203
+ [docs/results.md](docs/results.md) is the only page with measured numbers.
204
+
205
+ ### Removed
206
+
207
+ - The parallel worker layer, model selection and calibration, the research evaluation code, the
208
+ terminal interface, the old gates engine, the custom evidence bundle format and its verifier,
209
+ the container isolation backend, and every subcommand except `verify`, `init`, `ci` and
210
+ `doctor`.
211
+ - The research evidence, campaigns, red-team passes, fuzz targets and research scripts, moved to
212
+ the archive named in [docs/evidence/README.md](docs/evidence/README.md).
6
213
 
7
214
  ## 14.4.0 - 2026-10-08
8
215
 
@@ -45,7 +252,7 @@ carried is `swarm-verify` 1.3.1, whose engine is 1.3.0's.
45
252
 
46
253
  The coding agent, `swarm-orchestrator`, released for the first time since the verifier-first
47
254
  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))
255
+ 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
256
  is in this release too. What follows is what the
50
257
  agent itself gained; the verifier stays the primary product and the agent its advanced mode.
51
258
 
@@ -253,10 +460,10 @@ agent itself gained; the verifier stays the primary product and the agent its ad
253
460
  difference 0.0 points, 95% CI [-4.0, +4.0]. Three repairs changed bytes, none narrowed the
254
461
  implementation, two left scratch files behind. Six of the nine refusals named a tsd type-test
255
462
  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).
463
+ 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
464
  Two earlier generations were stopped on instrument defects and are kept beside it. The instrument
258
465
  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).
466
+ 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
467
 
261
468
  ### Changed
262
469
 
@@ -810,290 +1017,12 @@ agent itself gained; the verifier stays the primary product and the agent its ad
810
1017
  reason, at the line that carries the finding. Under the workflow's own command it now reports
811
1018
  zero and exits 0, so the weekly issue means something arrived that nobody has looked at.
812
1019
 
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.
1020
+ ## History
1097
1021
 
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.
1022
+ Versions 13.0.0 through 13.1.9 turned the package from v12's pull request auditor into a coding
1023
+ agent whose every completion claim resolved to harness-captured evidence in a hash-chained,
1024
+ signed ledger: a single tool chokepoint under a lexical path policy, gates declared as data, a
1025
+ numeric ratchet across retries, measured local model selection, and an offline verifier. Earlier
1026
+ major versions (v6 to v12) were a pull request auditor for AI-authored changes and share nothing
1027
+ with the current interface. The full entries are in this file's git history before the
1028
+ verifier-first rebuild.