smol-symphony 0.2.0 → 0.3.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 (540) hide show
  1. package/AGENTS.md +41 -22
  2. package/DESIGN.md +494 -273
  3. package/README.md +109 -57
  4. package/SPEC.md +33 -24
  5. package/WORKFLOW.minimal.yaml +34 -0
  6. package/{WORKFLOW.template.md → WORKFLOW.template.yaml} +409 -256
  7. package/WORKFLOW.yaml +487 -0
  8. package/assets/skills/symphony-issues/SKILL.md +136 -0
  9. package/assets/symphony-mise.system.toml +68 -0
  10. package/dist/bin/symphony.js +22 -786
  11. package/dist/bin/symphony.js.map +1 -1
  12. package/dist/core/actions/context.js +109 -0
  13. package/dist/core/actions/context.js.map +1 -0
  14. package/dist/{actions/parsing.js → core/actions/parse.js} +33 -114
  15. package/dist/core/actions/parse.js.map +1 -0
  16. package/dist/core/actions/plan.js +197 -0
  17. package/dist/core/actions/plan.js.map +1 -0
  18. package/dist/core/actions/predicates.js +111 -0
  19. package/dist/core/actions/predicates.js.map +1 -0
  20. package/dist/core/actions/run-fold.js +248 -0
  21. package/dist/core/actions/run-fold.js.map +1 -0
  22. package/dist/core/actions/template.js +118 -0
  23. package/dist/core/actions/template.js.map +1 -0
  24. package/dist/core/cli/args.js +116 -0
  25. package/dist/core/cli/args.js.map +1 -0
  26. package/dist/core/coerce.js +75 -0
  27. package/dist/core/coerce.js.map +1 -0
  28. package/dist/core/credential/account-id.js +20 -0
  29. package/dist/core/credential/account-id.js.map +1 -0
  30. package/dist/core/credential/adapter-config.js +136 -0
  31. package/dist/core/credential/adapter-config.js.map +1 -0
  32. package/dist/core/credential/availability.js +98 -0
  33. package/dist/core/credential/availability.js.map +1 -0
  34. package/dist/core/credential/extract.js +228 -0
  35. package/dist/core/credential/extract.js.map +1 -0
  36. package/dist/core/credential/fake-creds.js +171 -0
  37. package/dist/core/credential/fake-creds.js.map +1 -0
  38. package/dist/core/credential/identity.js +125 -0
  39. package/dist/core/credential/identity.js.map +1 -0
  40. package/dist/core/credential/shape.js +230 -0
  41. package/dist/core/credential/shape.js.map +1 -0
  42. package/dist/core/credential/strings.js +15 -0
  43. package/dist/core/credential/strings.js.map +1 -0
  44. package/dist/core/doctor/checks.js +303 -0
  45. package/dist/core/doctor/checks.js.map +1 -0
  46. package/dist/core/git/result.js +107 -0
  47. package/dist/core/git/result.js.map +1 -0
  48. package/dist/core/http/decisions.js +225 -0
  49. package/dist/core/http/decisions.js.map +1 -0
  50. package/dist/{http.js → core/http/render.js} +472 -738
  51. package/dist/core/http/render.js.map +1 -0
  52. package/dist/{http-handlers.js → core/http/routes.js} +52 -87
  53. package/dist/core/http/routes.js.map +1 -0
  54. package/dist/core/http/views.js +181 -0
  55. package/dist/core/http/views.js.map +1 -0
  56. package/dist/core/image/managed-image.js +95 -0
  57. package/dist/core/image/managed-image.js.map +1 -0
  58. package/dist/core/issue/file.js +149 -0
  59. package/dist/core/issue/file.js.map +1 -0
  60. package/dist/core/issue/parse.js +210 -0
  61. package/dist/core/issue/parse.js.map +1 -0
  62. package/dist/core/mcp/dispatch.js +239 -0
  63. package/dist/core/mcp/dispatch.js.map +1 -0
  64. package/dist/core/mcp/post-move.js +92 -0
  65. package/dist/core/mcp/post-move.js.map +1 -0
  66. package/dist/core/mcp/protocol.js +293 -0
  67. package/dist/core/mcp/protocol.js.map +1 -0
  68. package/dist/core/mcp/url.js +162 -0
  69. package/dist/core/mcp/url.js.map +1 -0
  70. package/dist/core/path.js +63 -0
  71. package/dist/core/path.js.map +1 -0
  72. package/dist/core/reconcile/image-decide.js +48 -0
  73. package/dist/core/reconcile/image-decide.js.map +1 -0
  74. package/dist/core/reconcile/ledger.js +142 -0
  75. package/dist/core/reconcile/ledger.js.map +1 -0
  76. package/dist/core/reconcile/pr-classify.js +62 -0
  77. package/dist/core/reconcile/pr-classify.js.map +1 -0
  78. package/dist/{reconciler → core/reconcile}/pr-decide.js +25 -12
  79. package/dist/core/reconcile/pr-decide.js.map +1 -0
  80. package/dist/core/reconcile/pr-loop.js +161 -0
  81. package/dist/core/reconcile/pr-loop.js.map +1 -0
  82. package/dist/core/reconcile/pr-notes.js +35 -0
  83. package/dist/core/reconcile/pr-notes.js.map +1 -0
  84. package/dist/core/reconcile/vm-decide.js +70 -0
  85. package/dist/core/reconcile/vm-decide.js.map +1 -0
  86. package/dist/core/reconcile/vm-reap.js +207 -0
  87. package/dist/core/reconcile/vm-reap.js.map +1 -0
  88. package/dist/core/reconcile/workspace-decide.js +162 -0
  89. package/dist/core/reconcile/workspace-decide.js.map +1 -0
  90. package/dist/core/runlog/summary.js +231 -0
  91. package/dist/core/runlog/summary.js.map +1 -0
  92. package/dist/core/runner/dispatch-config.js +95 -0
  93. package/dist/core/runner/dispatch-config.js.map +1 -0
  94. package/dist/core/runner/injection.js +61 -0
  95. package/dist/core/runner/injection.js.map +1 -0
  96. package/dist/core/runner/mise.js +210 -0
  97. package/dist/core/runner/mise.js.map +1 -0
  98. package/dist/core/runner/prompt.js +720 -0
  99. package/dist/core/runner/prompt.js.map +1 -0
  100. package/dist/core/runner/turn.js +242 -0
  101. package/dist/core/runner/turn.js.map +1 -0
  102. package/dist/core/runner/vm-plan.js +390 -0
  103. package/dist/core/runner/vm-plan.js.map +1 -0
  104. package/dist/core/schedule/admission.js +123 -0
  105. package/dist/core/schedule/admission.js.map +1 -0
  106. package/dist/core/schedule/circuit-breaker.js +111 -0
  107. package/dist/core/schedule/circuit-breaker.js.map +1 -0
  108. package/dist/core/schedule/eligibility.js +83 -0
  109. package/dist/core/schedule/eligibility.js.map +1 -0
  110. package/dist/core/schedule/reconcile-issue.js +82 -0
  111. package/dist/core/schedule/reconcile-issue.js.map +1 -0
  112. package/dist/core/schedule/retry.js +96 -0
  113. package/dist/core/schedule/retry.js.map +1 -0
  114. package/dist/core/schedule/sleep-cycle.js +133 -0
  115. package/dist/core/schedule/sleep-cycle.js.map +1 -0
  116. package/dist/core/schedule/slots.js +124 -0
  117. package/dist/core/schedule/slots.js.map +1 -0
  118. package/dist/core/schedule/tick.js +553 -0
  119. package/dist/core/schedule/tick.js.map +1 -0
  120. package/dist/core/schedule/token-fold.js +181 -0
  121. package/dist/core/schedule/token-fold.js.map +1 -0
  122. package/dist/core/state-resolve.js +86 -0
  123. package/dist/core/state-resolve.js.map +1 -0
  124. package/dist/core/vm-guards.js +278 -0
  125. package/dist/core/vm-guards.js.map +1 -0
  126. package/dist/core/workflow/derive.js +107 -0
  127. package/dist/core/workflow/derive.js.map +1 -0
  128. package/dist/core/workflow/parse.js +687 -0
  129. package/dist/core/workflow/parse.js.map +1 -0
  130. package/dist/core/workflow/prompt-probe.js +78 -0
  131. package/dist/core/workflow/prompt-probe.js.map +1 -0
  132. package/dist/core/workflow/validate.js +189 -0
  133. package/dist/core/workflow/validate.js.map +1 -0
  134. package/dist/core/workspace-key.js +19 -0
  135. package/dist/core/workspace-key.js.map +1 -0
  136. package/dist/shell/actions-runner.js +356 -0
  137. package/dist/shell/actions-runner.js.map +1 -0
  138. package/dist/shell/adapter/adapter-registry.js +45 -0
  139. package/dist/shell/adapter/adapter-registry.js.map +1 -0
  140. package/dist/shell/adapter/clock-random.js +96 -0
  141. package/dist/shell/adapter/clock-random.js.map +1 -0
  142. package/dist/shell/adapter/gondolin-dispatch-helpers.js +158 -0
  143. package/dist/shell/adapter/gondolin-dispatch-helpers.js.map +1 -0
  144. package/dist/shell/adapter/gondolin-dispatch.js +385 -0
  145. package/dist/shell/adapter/gondolin-dispatch.js.map +1 -0
  146. package/dist/shell/adapter/gondolin-image-converter.js +233 -0
  147. package/dist/shell/adapter/gondolin-image-converter.js.map +1 -0
  148. package/dist/shell/adapter/gondolin-image-fetch.js +180 -0
  149. package/dist/shell/adapter/gondolin-image-fetch.js.map +1 -0
  150. package/dist/shell/adapter/launcher-asset.js +57 -0
  151. package/dist/shell/adapter/launcher-asset.js.map +1 -0
  152. package/dist/shell/adapter/mise-config-asset.js +65 -0
  153. package/dist/shell/adapter/mise-config-asset.js.map +1 -0
  154. package/dist/shell/adapter/workflow-loader.js +304 -0
  155. package/dist/shell/adapter/workflow-loader.js.map +1 -0
  156. package/dist/shell/cli/doctor.js +268 -0
  157. package/dist/shell/cli/doctor.js.map +1 -0
  158. package/dist/shell/effect-interpreter-families.js +314 -0
  159. package/dist/shell/effect-interpreter-families.js.map +1 -0
  160. package/dist/shell/effect-interpreter.js +29 -0
  161. package/dist/shell/effect-interpreter.js.map +1 -0
  162. package/dist/shell/interp/acp-frame.js +137 -0
  163. package/dist/shell/interp/acp-frame.js.map +1 -0
  164. package/dist/shell/interp/acp-ws-conn.js +320 -0
  165. package/dist/shell/interp/acp-ws-conn.js.map +1 -0
  166. package/dist/shell/interp/acp-ws-frames.js +159 -0
  167. package/dist/shell/interp/acp-ws-frames.js.map +1 -0
  168. package/dist/shell/interp/acp-ws.js +197 -0
  169. package/dist/shell/interp/acp-ws.js.map +1 -0
  170. package/dist/shell/interp/acp.js +319 -0
  171. package/dist/shell/interp/acp.js.map +1 -0
  172. package/dist/shell/interp/credential-defaults.js +128 -0
  173. package/dist/shell/interp/credential-defaults.js.map +1 -0
  174. package/dist/shell/interp/credential-hooks.js +149 -0
  175. package/dist/shell/interp/credential-hooks.js.map +1 -0
  176. package/dist/shell/interp/credential-registry.js +226 -0
  177. package/dist/shell/interp/credential-registry.js.map +1 -0
  178. package/dist/shell/interp/credential.js +103 -0
  179. package/dist/shell/interp/credential.js.map +1 -0
  180. package/dist/shell/interp/gh.js +163 -0
  181. package/dist/shell/interp/gh.js.map +1 -0
  182. package/dist/shell/interp/git.js +28 -0
  183. package/dist/shell/interp/git.js.map +1 -0
  184. package/dist/shell/interp/log.js +213 -0
  185. package/dist/shell/interp/log.js.map +1 -0
  186. package/dist/shell/interp/process.js +178 -0
  187. package/dist/shell/interp/process.js.map +1 -0
  188. package/dist/shell/interp/runlog.js +193 -0
  189. package/dist/shell/interp/runlog.js.map +1 -0
  190. package/dist/shell/interp/timer.js +64 -0
  191. package/dist/shell/interp/timer.js.map +1 -0
  192. package/dist/shell/interp/tracker-disk.js +99 -0
  193. package/dist/shell/interp/tracker-disk.js.map +1 -0
  194. package/dist/shell/interp/tracker-parse.js +71 -0
  195. package/dist/shell/interp/tracker-parse.js.map +1 -0
  196. package/dist/shell/interp/tracker-scan.js +238 -0
  197. package/dist/shell/interp/tracker-scan.js.map +1 -0
  198. package/dist/shell/interp/tracker-write.js +91 -0
  199. package/dist/shell/interp/tracker-write.js.map +1 -0
  200. package/dist/shell/interp/tracker.js +41 -0
  201. package/dist/shell/interp/tracker.js.map +1 -0
  202. package/dist/shell/interp/tty.js +48 -0
  203. package/dist/shell/interp/tty.js.map +1 -0
  204. package/dist/shell/interp/vm.js +199 -0
  205. package/dist/shell/interp/vm.js.map +1 -0
  206. package/dist/shell/interp/workspace.js +310 -0
  207. package/dist/shell/interp/workspace.js.map +1 -0
  208. package/dist/shell/main-acp.js +78 -0
  209. package/dist/shell/main-acp.js.map +1 -0
  210. package/dist/shell/main-adapters.js +222 -0
  211. package/dist/shell/main-adapters.js.map +1 -0
  212. package/dist/shell/main-credential.js +122 -0
  213. package/dist/shell/main-credential.js.map +1 -0
  214. package/dist/shell/main-doctor.js +22 -0
  215. package/dist/shell/main-doctor.js.map +1 -0
  216. package/dist/shell/main-entry.js +46 -0
  217. package/dist/shell/main-entry.js.map +1 -0
  218. package/dist/shell/main-http-csrf.js +45 -0
  219. package/dist/shell/main-http-csrf.js.map +1 -0
  220. package/dist/shell/main-http-handler.js +389 -0
  221. package/dist/shell/main-http-handler.js.map +1 -0
  222. package/dist/shell/main-http-mcp.js +122 -0
  223. package/dist/shell/main-http-mcp.js.map +1 -0
  224. package/dist/shell/main-http-views.js +253 -0
  225. package/dist/shell/main-http-views.js.map +1 -0
  226. package/dist/shell/main-http.js +76 -0
  227. package/dist/shell/main-http.js.map +1 -0
  228. package/dist/shell/main-loops.js +130 -0
  229. package/dist/shell/main-loops.js.map +1 -0
  230. package/dist/shell/main-mcp.js +129 -0
  231. package/dist/shell/main-mcp.js.map +1 -0
  232. package/dist/shell/main-orchestrator.js +120 -0
  233. package/dist/shell/main-orchestrator.js.map +1 -0
  234. package/dist/shell/main-preflight.js +43 -0
  235. package/dist/shell/main-preflight.js.map +1 -0
  236. package/dist/shell/main-reconcilers-helpers.js +244 -0
  237. package/dist/shell/main-reconcilers-helpers.js.map +1 -0
  238. package/dist/shell/main-reconcilers-pr.js +148 -0
  239. package/dist/shell/main-reconcilers-pr.js.map +1 -0
  240. package/dist/shell/main-reconcilers.js +225 -0
  241. package/dist/shell/main-reconcilers.js.map +1 -0
  242. package/dist/shell/main-runner.js +355 -0
  243. package/dist/shell/main-runner.js.map +1 -0
  244. package/dist/shell/main-scaffold.js +116 -0
  245. package/dist/shell/main-scaffold.js.map +1 -0
  246. package/dist/shell/main-shutdown.js +115 -0
  247. package/dist/shell/main-shutdown.js.map +1 -0
  248. package/dist/shell/main-startup.js +48 -0
  249. package/dist/shell/main-startup.js.map +1 -0
  250. package/dist/shell/main-substrates.js +43 -0
  251. package/dist/shell/main-substrates.js.map +1 -0
  252. package/dist/shell/main.js +385 -0
  253. package/dist/shell/main.js.map +1 -0
  254. package/dist/shell/orchestrator-feedback.js +69 -0
  255. package/dist/shell/orchestrator-feedback.js.map +1 -0
  256. package/dist/shell/orchestrator-image.js +167 -0
  257. package/dist/shell/orchestrator-image.js.map +1 -0
  258. package/dist/shell/orchestrator-loop.js +468 -0
  259. package/dist/shell/orchestrator-loop.js.map +1 -0
  260. package/dist/shell/orchestrator-reconcile.js +36 -0
  261. package/dist/shell/orchestrator-reconcile.js.map +1 -0
  262. package/dist/shell/reconciler-loop.js +228 -0
  263. package/dist/shell/reconciler-loop.js.map +1 -0
  264. package/dist/shell/runner-loop-turn.js +301 -0
  265. package/dist/shell/runner-loop-turn.js.map +1 -0
  266. package/dist/shell/runner-loop.js +338 -0
  267. package/dist/shell/runner-loop.js.map +1 -0
  268. package/dist/shell/server/http.js +208 -0
  269. package/dist/shell/server/http.js.map +1 -0
  270. package/dist/shell/server/mcp-runtime-effects.js +237 -0
  271. package/dist/shell/server/mcp-runtime-effects.js.map +1 -0
  272. package/dist/shell/server/mcp-runtime.js +99 -0
  273. package/dist/shell/server/mcp-runtime.js.map +1 -0
  274. package/dist/shell/workspace-key.js +14 -0
  275. package/dist/shell/workspace-key.js.map +1 -0
  276. package/dist/types/acp.js +8 -0
  277. package/dist/types/acp.js.map +1 -0
  278. package/dist/types/actions/plan.js +6 -0
  279. package/dist/types/actions/plan.js.map +1 -0
  280. package/dist/types/actions/predicates.js +6 -0
  281. package/dist/types/actions/predicates.js.map +1 -0
  282. package/dist/types/actions/run-fold.js +8 -0
  283. package/dist/types/actions/run-fold.js.map +1 -0
  284. package/dist/types/actions.js +7 -0
  285. package/dist/types/actions.js.map +1 -0
  286. package/dist/types/adapter/clock-random.js +4 -0
  287. package/dist/types/adapter/clock-random.js.map +1 -0
  288. package/dist/types/adapter/gondolin-image-converter.js +5 -0
  289. package/dist/types/adapter/gondolin-image-converter.js.map +1 -0
  290. package/dist/types/adapter/gondolin-image-fetch.js +5 -0
  291. package/dist/types/adapter/gondolin-image-fetch.js.map +1 -0
  292. package/dist/types/adapter/workflow-loader.js +4 -0
  293. package/dist/types/adapter/workflow-loader.js.map +1 -0
  294. package/dist/types/cli/args.js +8 -0
  295. package/dist/types/cli/args.js.map +1 -0
  296. package/dist/types/config.js +8 -0
  297. package/dist/types/config.js.map +1 -0
  298. package/dist/types/credential-interp.js +6 -0
  299. package/dist/types/credential-interp.js.map +1 -0
  300. package/dist/types/credentials.js +10 -0
  301. package/dist/types/credentials.js.map +1 -0
  302. package/dist/types/doctor.js +7 -0
  303. package/dist/types/doctor.js.map +1 -0
  304. package/dist/types/domain.js +7 -0
  305. package/dist/types/domain.js.map +1 -0
  306. package/dist/types/effect.js +15 -0
  307. package/dist/types/effect.js.map +1 -0
  308. package/dist/types/errors.js +39 -0
  309. package/dist/types/errors.js.map +1 -0
  310. package/dist/types/http/decisions.js +6 -0
  311. package/dist/types/http/decisions.js.map +1 -0
  312. package/dist/types/http/render.js +10 -0
  313. package/dist/types/http/render.js.map +1 -0
  314. package/dist/types/http/views.js +6 -0
  315. package/dist/types/http/views.js.map +1 -0
  316. package/dist/types/http.js +9 -0
  317. package/dist/types/http.js.map +1 -0
  318. package/dist/types/image/managed-image.js +7 -0
  319. package/dist/types/image/managed-image.js.map +1 -0
  320. package/dist/types/interp/effect-interpreter.js +8 -0
  321. package/dist/types/interp/effect-interpreter.js.map +1 -0
  322. package/dist/types/interp/tracker.js +7 -0
  323. package/dist/types/interp/tracker.js.map +1 -0
  324. package/dist/types/issue/file.js +6 -0
  325. package/dist/types/issue/file.js.map +1 -0
  326. package/dist/types/issue/parse.js +8 -0
  327. package/dist/types/issue/parse.js.map +1 -0
  328. package/dist/types/main-acp.js +13 -0
  329. package/dist/types/main-acp.js.map +1 -0
  330. package/dist/types/main-adapters.js +5 -0
  331. package/dist/types/main-adapters.js.map +1 -0
  332. package/dist/types/main-credential.js +21 -0
  333. package/dist/types/main-credential.js.map +1 -0
  334. package/dist/types/main-doctor.js +6 -0
  335. package/dist/types/main-doctor.js.map +1 -0
  336. package/dist/types/main-http-handler.js +12 -0
  337. package/dist/types/main-http-handler.js.map +1 -0
  338. package/dist/types/main-http.js +5 -0
  339. package/dist/types/main-http.js.map +1 -0
  340. package/dist/types/main-loops.js +5 -0
  341. package/dist/types/main-loops.js.map +1 -0
  342. package/dist/types/main-mcp.js +12 -0
  343. package/dist/types/main-mcp.js.map +1 -0
  344. package/dist/types/main-orchestrator.js +5 -0
  345. package/dist/types/main-orchestrator.js.map +1 -0
  346. package/dist/types/main-reconcilers.js +11 -0
  347. package/dist/types/main-reconcilers.js.map +1 -0
  348. package/dist/types/main-runner.js +13 -0
  349. package/dist/types/main-runner.js.map +1 -0
  350. package/dist/types/main-startup.js +5 -0
  351. package/dist/types/main-startup.js.map +1 -0
  352. package/dist/types/main-substrates.js +5 -0
  353. package/dist/types/main-substrates.js.map +1 -0
  354. package/dist/types/mcp/dispatch.js +4 -0
  355. package/dist/types/mcp/dispatch.js.map +1 -0
  356. package/dist/types/mcp/post-move.js +7 -0
  357. package/dist/types/mcp/post-move.js.map +1 -0
  358. package/dist/types/mcp.js +9 -0
  359. package/dist/types/mcp.js.map +1 -0
  360. package/dist/types/ports.js +12 -0
  361. package/dist/types/ports.js.map +1 -0
  362. package/dist/types/reconcile/image-decide.js +5 -0
  363. package/dist/types/reconcile/image-decide.js.map +1 -0
  364. package/dist/types/reconcile/ledger.js +7 -0
  365. package/dist/types/reconcile/ledger.js.map +1 -0
  366. package/dist/types/reconcile/pr-loop.js +8 -0
  367. package/dist/types/reconcile/pr-loop.js.map +1 -0
  368. package/dist/types/reconcile/vm-reap.js +8 -0
  369. package/dist/types/reconcile/vm-reap.js.map +1 -0
  370. package/dist/types/reconcile/workspace-decide.js +7 -0
  371. package/dist/types/reconcile/workspace-decide.js.map +1 -0
  372. package/dist/types/reconcile.js +9 -0
  373. package/dist/types/reconcile.js.map +1 -0
  374. package/dist/types/runlog.js +7 -0
  375. package/dist/types/runlog.js.map +1 -0
  376. package/dist/types/runner/actions-runner.js +12 -0
  377. package/dist/types/runner/actions-runner.js.map +1 -0
  378. package/dist/types/runner/gondolin-dispatch.js +5 -0
  379. package/dist/types/runner/gondolin-dispatch.js.map +1 -0
  380. package/dist/types/runner/injection.js +6 -0
  381. package/dist/types/runner/injection.js.map +1 -0
  382. package/dist/types/runner/runner-loop.js +5 -0
  383. package/dist/types/runner/runner-loop.js.map +1 -0
  384. package/dist/types/runner/turn.js +4 -0
  385. package/dist/types/runner/turn.js.map +1 -0
  386. package/dist/types/runner/vm-plan.js +4 -0
  387. package/dist/types/runner/vm-plan.js.map +1 -0
  388. package/dist/types/runtime.js +9 -0
  389. package/dist/types/runtime.js.map +1 -0
  390. package/dist/types/schedule/admission.js +7 -0
  391. package/dist/types/schedule/admission.js.map +1 -0
  392. package/dist/types/schedule/circuit-breaker.js +2 -0
  393. package/dist/types/schedule/circuit-breaker.js.map +1 -0
  394. package/dist/types/schedule/eligibility.js +9 -0
  395. package/dist/types/schedule/eligibility.js.map +1 -0
  396. package/dist/types/schedule/orchestrator-loop.js +10 -0
  397. package/dist/types/schedule/orchestrator-loop.js.map +1 -0
  398. package/dist/types/schedule/sleep-cycle.js +4 -0
  399. package/dist/types/schedule/sleep-cycle.js.map +1 -0
  400. package/dist/types/schedule/slots.js +8 -0
  401. package/dist/types/schedule/slots.js.map +1 -0
  402. package/dist/types/schedule/tick.js +9 -0
  403. package/dist/types/schedule/tick.js.map +1 -0
  404. package/dist/types/server/mcp-runtime.js +8 -0
  405. package/dist/types/server/mcp-runtime.js.map +1 -0
  406. package/dist/types/workflow/parse.js +4 -0
  407. package/dist/types/workflow/parse.js.map +1 -0
  408. package/package.json +22 -10
  409. package/patches/@earendil-works+gondolin+0.12.0.patch +173 -0
  410. package/prompts/Reflect.md +91 -0
  411. package/prompts/Review.md +97 -0
  412. package/prompts/Todo.md +96 -0
  413. package/prompts/_footer.md +41 -0
  414. package/prompts/_preamble.md +42 -0
  415. package/prompts-minimal/Todo.md +26 -0
  416. package/scripts/postinstall.mjs +63 -0
  417. package/scripts/vm-agent.mjs +312 -90
  418. package/WORKFLOW.md +0 -744
  419. package/dist/acp-bridge.js +0 -324
  420. package/dist/acp-bridge.js.map +0 -1
  421. package/dist/actions/cache.js +0 -191
  422. package/dist/actions/cache.js.map +0 -1
  423. package/dist/actions/effects.js +0 -41
  424. package/dist/actions/effects.js.map +0 -1
  425. package/dist/actions/executor.js +0 -570
  426. package/dist/actions/executor.js.map +0 -1
  427. package/dist/actions/index.js +0 -13
  428. package/dist/actions/index.js.map +0 -1
  429. package/dist/actions/parsing.js.map +0 -1
  430. package/dist/actions/predicate-env.js +0 -27
  431. package/dist/actions/predicate-env.js.map +0 -1
  432. package/dist/actions/predicates.js +0 -49
  433. package/dist/actions/predicates.js.map +0 -1
  434. package/dist/actions/templating.js +0 -66
  435. package/dist/actions/templating.js.map +0 -1
  436. package/dist/actions/types.js +0 -15
  437. package/dist/actions/types.js.map +0 -1
  438. package/dist/agent/acp.js +0 -473
  439. package/dist/agent/acp.js.map +0 -1
  440. package/dist/agent/adapter-names.js +0 -159
  441. package/dist/agent/adapter-names.js.map +0 -1
  442. package/dist/agent/adapters.js +0 -511
  443. package/dist/agent/adapters.js.map +0 -1
  444. package/dist/agent/credential-extractors.js +0 -342
  445. package/dist/agent/credential-extractors.js.map +0 -1
  446. package/dist/agent/credential-secrets.js +0 -628
  447. package/dist/agent/credential-secrets.js.map +0 -1
  448. package/dist/agent/credential-ticker.js +0 -57
  449. package/dist/agent/credential-ticker.js.map +0 -1
  450. package/dist/agent/gondolin-creds-staging.js +0 -356
  451. package/dist/agent/gondolin-creds-staging.js.map +0 -1
  452. package/dist/agent/gondolin-dispatch.js +0 -375
  453. package/dist/agent/gondolin-dispatch.js.map +0 -1
  454. package/dist/agent/gondolin.js +0 -124
  455. package/dist/agent/gondolin.js.map +0 -1
  456. package/dist/agent/runner-decisions.js +0 -134
  457. package/dist/agent/runner-decisions.js.map +0 -1
  458. package/dist/agent/runner.js +0 -1456
  459. package/dist/agent/runner.js.map +0 -1
  460. package/dist/agent/tool-call-summary.js +0 -102
  461. package/dist/agent/tool-call-summary.js.map +0 -1
  462. package/dist/agent/vm-acp-mapping.js +0 -73
  463. package/dist/agent/vm-acp-mapping.js.map +0 -1
  464. package/dist/agent/vm-guards.js +0 -262
  465. package/dist/agent/vm-guards.js.map +0 -1
  466. package/dist/agent/vm-port.js +0 -22
  467. package/dist/agent/vm-port.js.map +0 -1
  468. package/dist/agent/vm-process-registry.js +0 -79
  469. package/dist/agent/vm-process-registry.js.map +0 -1
  470. package/dist/bin/cli-args.js +0 -105
  471. package/dist/bin/cli-args.js.map +0 -1
  472. package/dist/errors.js +0 -15
  473. package/dist/errors.js.map +0 -1
  474. package/dist/http-disk.js +0 -135
  475. package/dist/http-disk.js.map +0 -1
  476. package/dist/http-handlers.js.map +0 -1
  477. package/dist/http.js.map +0 -1
  478. package/dist/issues.js +0 -178
  479. package/dist/issues.js.map +0 -1
  480. package/dist/logging.js +0 -203
  481. package/dist/logging.js.map +0 -1
  482. package/dist/mcp.js +0 -706
  483. package/dist/mcp.js.map +0 -1
  484. package/dist/memory.js +0 -85
  485. package/dist/memory.js.map +0 -1
  486. package/dist/orchestrator-decisions.js +0 -331
  487. package/dist/orchestrator-decisions.js.map +0 -1
  488. package/dist/orchestrator.js +0 -1569
  489. package/dist/orchestrator.js.map +0 -1
  490. package/dist/prompt.js +0 -65
  491. package/dist/prompt.js.map +0 -1
  492. package/dist/reconciler/cache.js +0 -65
  493. package/dist/reconciler/cache.js.map +0 -1
  494. package/dist/reconciler/index.js +0 -448
  495. package/dist/reconciler/index.js.map +0 -1
  496. package/dist/reconciler/ledger.js +0 -131
  497. package/dist/reconciler/ledger.js.map +0 -1
  498. package/dist/reconciler/pr-adapters.js +0 -174
  499. package/dist/reconciler/pr-adapters.js.map +0 -1
  500. package/dist/reconciler/pr-decide.js.map +0 -1
  501. package/dist/reconciler/pr.js +0 -422
  502. package/dist/reconciler/pr.js.map +0 -1
  503. package/dist/reconciler/types.js +0 -12
  504. package/dist/reconciler/types.js.map +0 -1
  505. package/dist/reconciler/vm.js +0 -243
  506. package/dist/reconciler/vm.js.map +0 -1
  507. package/dist/reconciler/workspace-defaults.js +0 -83
  508. package/dist/reconciler/workspace-defaults.js.map +0 -1
  509. package/dist/reconciler/workspace.js +0 -272
  510. package/dist/reconciler/workspace.js.map +0 -1
  511. package/dist/runlog.js +0 -403
  512. package/dist/runlog.js.map +0 -1
  513. package/dist/scaffold.js +0 -165
  514. package/dist/scaffold.js.map +0 -1
  515. package/dist/trackers/local.js +0 -445
  516. package/dist/trackers/local.js.map +0 -1
  517. package/dist/trackers/types.js +0 -10
  518. package/dist/trackers/types.js.map +0 -1
  519. package/dist/types.js +0 -3
  520. package/dist/types.js.map +0 -1
  521. package/dist/util/clock.js +0 -12
  522. package/dist/util/clock.js.map +0 -1
  523. package/dist/util/crypto.js +0 -25
  524. package/dist/util/crypto.js.map +0 -1
  525. package/dist/util/frontmatter.js +0 -70
  526. package/dist/util/frontmatter.js.map +0 -1
  527. package/dist/util/fs-issues.js +0 -22
  528. package/dist/util/fs-issues.js.map +0 -1
  529. package/dist/util/process.js +0 -152
  530. package/dist/util/process.js.map +0 -1
  531. package/dist/util/workspace-key.js +0 -10
  532. package/dist/util/workspace-key.js.map +0 -1
  533. package/dist/workflow-loader.js +0 -147
  534. package/dist/workflow-loader.js.map +0 -1
  535. package/dist/workflow.js +0 -822
  536. package/dist/workflow.js.map +0 -1
  537. package/dist/workspace-types.js +0 -8
  538. package/dist/workspace-types.js.map +0 -1
  539. package/dist/workspace.js +0 -443
  540. package/dist/workspace.js.map +0 -1
package/dist/mcp.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
package/dist/memory.js DELETED
@@ -1,85 +0,0 @@
1
- // Host memory probe used by the orchestrator's memory-aware admission cap.
2
- //
3
- // Issue 26 OOM was diagnosed as leaked VMs across process restarts and the leak itself
4
- // is fixed by start/stop reaping. This module adds a defense-in-depth backstop so that
5
- // an operator who raises `agent.max_concurrent_agents` on a memory-constrained host
6
- // still won't dispatch more VMs than the host can fit. We read MemAvailable from
7
- // `/proc/meminfo` and the orchestrator clamps the effective slot count to
8
- // `running + floor((MemAvailable - reserve) / gondolin.mem_mib)`.
9
- //
10
- // `/proc/meminfo` is Linux-only (Gondolin itself is Linux-only, but the orchestrator
11
- // codebase is portable enough that running `npm test` on macOS shouldn't trip the
12
- // probe). On any platform where the file is missing or unreadable, the probe
13
- // returns null and the orchestrator falls back to the static cap.
14
- import { readFileSync } from 'node:fs';
15
- const PROC_MEMINFO = '/proc/meminfo';
16
- /**
17
- * Parse a `/proc/meminfo` body and pull out `MemAvailable`. The kernel emits the value in
18
- * KiB (`MemAvailable: 12345678 kB`); we return MiB for symmetry with `gondolin.mem_mib`
19
- * and `host_memory_reserve_mib`. Returns null if the line is missing or unparseable —
20
- * the orchestrator treats that the same as the probe being unsupported and falls back
21
- * to the static cap.
22
- */
23
- export function parseMemAvailableMib(meminfo) {
24
- const match = meminfo.match(/^MemAvailable:\s+(\d+)\s*kB\s*$/m);
25
- if (!match)
26
- return null;
27
- const kb = parseInt(match[1], 10);
28
- if (!Number.isFinite(kb))
29
- return null;
30
- return Math.floor(kb / 1024);
31
- }
32
- /**
33
- * Default probe — synchronously reads `/proc/meminfo`. The file is a kernel-served
34
- * virtual file (no disk I/O); reads are microsecond-cheap and we run it once per tick.
35
- * On any read or parse failure the probe returns `supported: false` so the orchestrator
36
- * falls back to the static cap rather than dropping to zero on a transient error.
37
- */
38
- export const defaultMemProbe = () => {
39
- let body;
40
- try {
41
- body = readFileSync(PROC_MEMINFO, 'utf8');
42
- }
43
- catch {
44
- return { mem_available_mib: null, supported: false };
45
- }
46
- const mib = parseMemAvailableMib(body);
47
- if (mib === null) {
48
- // File exists but the line is missing or malformed — treat as supported-but-empty
49
- // so the operator sees "probe ran, no value" in the dashboard rather than a silent
50
- // fallback. The orchestrator's clamp treats null as "skip the clamp."
51
- return { mem_available_mib: null, supported: true };
52
- }
53
- return { mem_available_mib: mib, supported: true };
54
- };
55
- /**
56
- * Compute the memory-admission summary used by both the orchestrator's slot accounting
57
- * and the snapshot endpoint. Kept pure so callers (and tests) can feed it any combination
58
- * of static cap, probe result, running count, reserve, and per-VM size.
59
- *
60
- * The effective cap is `min(static_cap, running + admission_room)` where
61
- * `admission_room = max(0, floor((MemAvailable - reserve) / per_vm))`. We add `running`
62
- * because MemAvailable already reflects the memory the running VMs are using —
63
- * `admission_room` is therefore the count of *additional* VMs that fit, and adding the
64
- * current running count gives the total cap consistent with the static one.
65
- *
66
- * When the probe is disabled, unsupported, or returned a null reading, the effective cap
67
- * is the static cap unchanged. Callers see `clamp_active=false` in that case so the
68
- * dashboard can show "memory admission off" vs "probe is gating dispatch."
69
- */
70
- export function computeMemoryAdmission(args) {
71
- const { enabled, static_cap, running, probe, reserve_mib, per_vm_mib } = args;
72
- if (!enabled || probe.mem_available_mib === null || per_vm_mib <= 0) {
73
- return { effective_cap: static_cap, admission_room: null, clamp_active: false };
74
- }
75
- const headroom = probe.mem_available_mib - reserve_mib;
76
- const room = headroom <= 0 ? 0 : Math.floor(headroom / per_vm_mib);
77
- const memoryCap = running + room;
78
- const effective = Math.min(static_cap, memoryCap);
79
- return {
80
- effective_cap: effective,
81
- admission_room: room,
82
- clamp_active: memoryCap < static_cap,
83
- };
84
- }
85
- //# sourceMappingURL=memory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,EAAE;AACF,uFAAuF;AACvF,uFAAuF;AACvF,oFAAoF;AACpF,iFAAiF;AACjF,0EAA0E;AAC1E,kEAAkE;AAClE,EAAE;AACF,qFAAqF;AACrF,kFAAkF;AAClF,6EAA6E;AAC7E,kEAAkE;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAWvC,MAAM,YAAY,GAAG,eAAe,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAa,GAAG,EAAE;IAC5C,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACvD,CAAC;IACD,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,kFAAkF;QAClF,mFAAmF;QACnF,sEAAsE;QACtE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACtD,CAAC;IACD,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACrD,CAAC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAOtC;IAKC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAC9E,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,iBAAiB,KAAK,IAAI,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACpE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IAClF,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,GAAG,WAAW,CAAC;IACvD,MAAM,IAAI,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAClD,OAAO;QACL,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,IAAI;QACpB,YAAY,EAAE,SAAS,GAAG,UAAU;KACrC,CAAC;AACJ,CAAC"}
@@ -1,331 +0,0 @@
1
- // Pure decisions extracted from `src/orchestrator.ts` (issue 75). Mirrors
2
- // `src/agent/runner-decisions.ts`: every helper takes a snapshot of shell
3
- // state and returns the next decision so the orchestrator stays thin wiring
4
- // and each branch can be unit tested without spinning up a tracker, runner,
5
- // or reconciler. Deterministic and side-effect free.
6
- import { activeStateNames, terminalStateNames } from './issues.js';
7
- /**
8
- * Per-running-issue reconcile decision based on the freshly-fetched tracker
9
- * view. Missing rows → terminate without cleanup; terminal-role state →
10
- * terminate with cleanup driven by `role`; active-role state → refresh the
11
- * in-memory issue snapshot; anything else (holding, unknown) → terminate
12
- * without cleanup. Routing cleanup through `role` lets a future per-state
13
- * `cleanup_workspace` flag flip without touching the orchestrator again.
14
- */
15
- export function decideReconcileForIssue(fresh, states) {
16
- if (!fresh)
17
- return { kind: 'terminate', cleanup: false, reason: 'tracker_state_missing' };
18
- const s = fresh.state.toLowerCase();
19
- const terminal = new Set(terminalStateNames(states).map((n) => n.toLowerCase()));
20
- if (terminal.has(s)) {
21
- const canonical = Object.keys(states).find((n) => n.toLowerCase() === s);
22
- const cleanup = canonical ? states[canonical].role === 'terminal' : false;
23
- return { kind: 'terminate', cleanup, reason: 'tracker_state_terminal' };
24
- }
25
- const active = new Set(activeStateNames(states).map((n) => n.toLowerCase()));
26
- if (active.has(s))
27
- return { kind: 'refresh' };
28
- return { kind: 'terminate', cleanup: false, reason: 'tracker_state_non_active' };
29
- }
30
- /**
31
- * Returns null when the issue is eligible to dispatch, otherwise a short
32
- * reason string. `ignoreOwnClaim` is set by the retry path so an issue's
33
- * own claim does not block its redispatch.
34
- */
35
- export function computeEligibilityReason(issue, ignoreOwnClaim, snap) {
36
- if (!issue.id || !issue.identifier || !issue.title || !issue.state) {
37
- return 'missing required issue fields';
38
- }
39
- const state = issue.state.toLowerCase();
40
- if (!snap.active.has(state) || snap.terminal.has(state))
41
- return 'state not active';
42
- if (snap.running.has(issue.id))
43
- return 'already running';
44
- if (!ignoreOwnClaim && snap.claimed.has(issue.id))
45
- return 'already claimed';
46
- if (!snap.perStateSlot(issue.state))
47
- return 'no per-state slot';
48
- if (state === 'todo' && hasNonTerminalBlocker(issue, snap.terminal)) {
49
- return 'has non-terminal blocker';
50
- }
51
- return null;
52
- }
53
- export function hasNonTerminalBlocker(issue, terminal) {
54
- for (const b of issue.blocked_by) {
55
- if (!b.state)
56
- return true;
57
- if (!terminal.has(b.state.toLowerCase()))
58
- return true;
59
- }
60
- return false;
61
- }
62
- /**
63
- * Resolved actor string (`"<adapter>/<model or 'default'>"`) for the
64
- * dispatch-time RunningEntry. Returns null when state resolution would throw
65
- * (state not declared in workflow) so the shell can fall back to workflow
66
- * defaults instead of carrying the try/catch.
67
- */
68
- export function resolveActorString(states, workflowAdapter, workflowModel, state) {
69
- const key = canonicalStateKey(states, state);
70
- if (key === null)
71
- return `${workflowAdapter}/${workflowModel ?? 'default'}`;
72
- const s = states[key];
73
- const adapter = s.adapter ?? workflowAdapter;
74
- const model = s.model === undefined ? workflowModel : s.model;
75
- return `${adapter}/${model ?? 'default'}`;
76
- }
77
- function canonicalStateKey(states, state) {
78
- if (Object.prototype.hasOwnProperty.call(states, state))
79
- return state;
80
- const lower = state.toLowerCase();
81
- for (const name of Object.keys(states))
82
- if (name.toLowerCase() === lower)
83
- return name;
84
- return null;
85
- }
86
- /**
87
- * Retry schedule for a worker that just exited. Normal exits become
88
- * `continuation` (1s, slot-holding); abnormal exits become `failure` with
89
- * exponential backoff capped at `maxBackoffMs`. `target_state` is whatever
90
- * state the running entry was carrying at exit time (the post-transition
91
- * state for a clean exit, otherwise unchanged).
92
- */
93
- export function decideExitRetry(input) {
94
- if (input.normal) {
95
- return {
96
- attempt: 1,
97
- delayMs: input.continuationDelayMs,
98
- error: null,
99
- kind: 'continuation',
100
- target_state: input.targetState,
101
- };
102
- }
103
- const nextAttempt = input.priorAttempt !== null && input.priorAttempt !== undefined ? input.priorAttempt + 1 : 1;
104
- return {
105
- attempt: nextAttempt,
106
- delayMs: Math.min(input.failureBaseMs * Math.pow(2, nextAttempt - 1), input.maxBackoffMs),
107
- error: input.reason,
108
- kind: 'failure',
109
- target_state: input.targetState,
110
- };
111
- }
112
- /**
113
- * Retry-timer response when a re-polled issue is found ineligible. A
114
- * `no per-state slot` reason yields a failure-backoff reschedule (the loop
115
- * can dispatch other work during the wait); any other ineligibility releases
116
- * the claim. Mirrors the inline switch the orchestrator used to carry.
117
- */
118
- export function decideRetryAfterIneligible(input) {
119
- if (input.reason !== 'no per-state slot')
120
- return { kind: 'release' };
121
- return {
122
- kind: 'reschedule',
123
- plan: {
124
- attempt: input.priorAttempt + 1,
125
- delayMs: Math.min(input.failureBaseMs * Math.pow(2, input.priorAttempt), input.maxBackoffMs),
126
- error: 'no available orchestrator slots',
127
- kind: 'failure',
128
- target_state: input.targetState,
129
- },
130
- };
131
- }
132
- // ---------------------------------------------------------------------------
133
- // Circuit breaker (issue 128; hardened in issue 135). The retry path retries an
134
- // abnormally-exited dispatch with exponential backoff and NO upper bound: a
135
- // deterministically-failing dispatch loops indefinitely, booting + reaping a VM
136
- // every backoff interval. These pure helpers let the orchestrator bound that
137
- // loop — count CONSECUTIVE failed dispatches and stop once an issue has made no
138
- // progress for `threshold` attempts in a row — without the streak bookkeeping
139
- // leaking into the shell.
140
- //
141
- // Issue 135 fix — count by streak length, NOT by same-reason. The original
142
- // breaker only incremented when the *normalized reason matched the prior one*,
143
- // so a dispatch that kept failing with FLAPPING reasons reset the counter every
144
- // time the reason changed and never tripped. Issue 135 looped 8× exactly this
145
- // way — four `ECONNRESET` turns (streak → 4), then a single `401` (different
146
- // reason → streak reset to 1), then `ECONNRESET` again (reset to 1) — the lone
147
- // interleaved 401 landed one short of the threshold and re-armed the breaker
148
- // from zero. The signal we actually want is "this issue has made no progress
149
- // for N attempts in a row", which is reason-independent: increment on every
150
- // consecutive abnormal exit; reset only when a dispatch exits cleanly (the
151
- // issue progressed). The normalized reason is still tracked, but only to label
152
- // the trip — it no longer gates counting.
153
- /**
154
- * Normalize a failure `reason` for the trip log / holding-state route note so
155
- * the human-facing message is stable even when the underlying message embeds
156
- * volatile tokens (request ids, status codes, timestamps, hashes, per-dispatch
157
- * sentinels).
158
- *
159
- * Rule: lowercase, then collapse every whitespace-delimited token that
160
- * contains a digit into `<id>` — volatile identifiers almost always carry a
161
- * digit (a request id, an HTTP status, a timestamp fragment, a counter, a hex
162
- * hash), whereas the human-readable words that carry a failure's *identity*
163
- * (`agent turn refusal`, `agent turn transport_error`, `vm bring-up error`) do
164
- * not. Used only for reporting now (see the note above on why counting no
165
- * longer keys on it).
166
- */
167
- export function normalizeFailureReason(reason) {
168
- return reason
169
- .toLowerCase()
170
- .replace(/\S*\d\S*/g, '<id>')
171
- .replace(/\s+/g, ' ')
172
- .trim();
173
- }
174
- /**
175
- * Fold one worker exit into the circuit-breaker streak. A clean exit (`normal`)
176
- * resets it — the issue made progress. Any abnormal exit increments the streak
177
- * by one REGARDLESS of reason (issue 135: keying on same-reason let flapping
178
- * failures dodge the breaker forever). When `threshold > 0` and the streak
179
- * reaches it, the breaker trips. `threshold <= 0` disables tripping entirely
180
- * (the streak is still tracked but never trips), so an operator can turn the
181
- * breaker off. `reason` is normalized only to label the eventual trip.
182
- */
183
- export function decideCircuitBreaker(input) {
184
- if (input.normal)
185
- return { kind: 'reset' };
186
- const normalizedReason = normalizeFailureReason(input.reason);
187
- const count = input.prior ? input.prior.count + 1 : 1;
188
- if (input.threshold > 0 && count >= input.threshold) {
189
- return { kind: 'trip', normalizedReason, count };
190
- }
191
- return { kind: 'continue', normalizedReason, count };
192
- }
193
- /**
194
- * Decide whether to arm the reflection cycle this tick, and on which trigger.
195
- *
196
- * The done-threshold trigger takes precedence over idle when both hold (it's
197
- * the stronger, count-based signal — handy for the operator-visible log line).
198
- *
199
- * The idle trigger is deliberately gated on `doneSinceReflect > 0`: an idle
200
- * orchestrator with nothing finished since the last run has nothing new to
201
- * reflect on, and arming anyway would spin (arm → reflect → dormant → idle →
202
- * arm …) forever. Requiring fresh terminal work breaks that loop while still
203
- * honoring the "sleep when not busy" framing — reflection runs during downtime,
204
- * but only when there is new material to mine.
205
- *
206
- * Returns null when the block is disabled, has no issue id, or no trigger fires.
207
- */
208
- export function decideSleepCycleArm(input) {
209
- if (!input.enabled || !input.issueId)
210
- return null;
211
- if (input.armAfterDone > 0 && input.doneSinceReflect >= input.armAfterDone) {
212
- return 'done_threshold';
213
- }
214
- if (input.armOnIdle && input.idle && input.doneSinceReflect > 0)
215
- return 'idle';
216
- return null;
217
- }
218
- /**
219
- * The notes block appended to the reflection issue's body when the orchestrator
220
- * auto-arms it. Rendered into `issue.description` for the reflector's next
221
- * dispatch, so it doubles as a reminder of the guardrail: auto-arming only moves
222
- * the issue into Reflect — the proposals it files still land in Triage behind
223
- * the human approve/discard gate.
224
- */
225
- export function sleepCycleArmNotes(trigger, doneSinceReflect, armAfterDone) {
226
- const why = trigger === 'done_threshold'
227
- ? `**${doneSinceReflect}** issues reached a terminal state since the last reflection run (threshold: ${armAfterDone}).`
228
- : `the orchestrator went idle with **${doneSinceReflect}** issue(s) finished since the last reflection run.`;
229
- return [
230
- '**Auto-armed by the sleep cycle** (issue 125).',
231
- '',
232
- `Trigger: ${trigger} — ${why}`,
233
- '',
234
- 'This move only arms reflection. The proposals you file still land in Triage and still require human approve/discard — auto-arming does not bypass that gate.',
235
- ].join('\n');
236
- }
237
- /**
238
- * Classify a tracker issue into a PR autopilot intent or `null` (state
239
- * matches neither the configured merge nor close state). The shell supplies
240
- * `mergeWorkspacePath` because workspace pathing is an adapter concern;
241
- * close intents drop it (workspace is owned by terminal cleanup).
242
- */
243
- export function classifyPrIntent(input) {
244
- const stateLower = input.issue.state.toLowerCase();
245
- const isMerge = stateLower === input.mergeState.toLowerCase();
246
- const isClose = input.closeState !== null && stateLower === input.closeState.toLowerCase();
247
- if (!isMerge && !isClose)
248
- return null;
249
- const branch = input.issue.branch_name && input.issue.branch_name.length > 0
250
- ? input.issue.branch_name
251
- : `agent/${input.issue.identifier}`;
252
- return {
253
- identifier: input.issue.identifier,
254
- kind: isMerge ? 'merge' : 'close',
255
- state: input.issue.state,
256
- workspace_path: isMerge ? input.mergeWorkspacePath : null,
257
- branch,
258
- base_branch: input.baseBranch,
259
- };
260
- }
261
- /**
262
- * Distinct adapter ids whose host credential must be readable at startup —
263
- * the workflow-level default plus any per-state override. Lookup of "known"
264
- * is supplied by the shell (the registry of valid adapter ids lives in
265
- * `agent/adapters.ts`); the helper just unions and dedupes.
266
- */
267
- export function requiredAdapterIds(cfg, isKnown) {
268
- const out = new Set();
269
- if (isKnown(cfg.acp.adapter))
270
- out.add(cfg.acp.adapter);
271
- for (const s of Object.values(cfg.states)) {
272
- if (s.adapter && isKnown(s.adapter))
273
- out.add(s.adapter);
274
- }
275
- return out;
276
- }
277
- /**
278
- * Build the issue-detail DTO served by `GET /api/v1/<identifier>`. Pure
279
- * with respect to the views supplied by the shell (`findRunningByIdentifier`
280
- * and `findRetryByIdentifier` do the impure scans). Returns null when
281
- * neither a running nor a retrying entry matches.
282
- */
283
- export function buildIssueDetailDto(identifier, entry, retry) {
284
- if (!entry && !retry)
285
- return null;
286
- // A pending `continuation` is a clean post-transition handoff (e.g.
287
- // Review → Todo), not a failure — surface it as a calm `resuming` state so
288
- // an API client can tell it apart from a stuck `failure`-backoff `retrying`.
289
- // (The dashboard pill collapses a continuation into `running` under the
290
- // Three-Pill Rule — issue 154 — since a live-updating list would otherwise
291
- // flash. This point-query DTO never flashes, so it keeps the finer-grained
292
- // `resuming` distinction.)
293
- const status = entry ? 'running' : retry?.kind === 'continuation' ? 'resuming' : 'retrying';
294
- return {
295
- issue_identifier: identifier,
296
- issue_id: entry?.issue_id ?? retry?.issue_id ?? null,
297
- status,
298
- workspace: entry ? { path: entry.workspace_path } : null,
299
- attempts: { current_retry_attempt: retry?.attempt ?? null },
300
- running: entry ? buildIssueDetailRunningSection(entry) : null,
301
- retry: retry ? buildIssueDetailRetrySection(retry) : null,
302
- recent_events: entry?.recent_events ?? [],
303
- last_error: entry?.last_error ?? retry?.error ?? null,
304
- tracked: {},
305
- };
306
- }
307
- function buildIssueDetailRunningSection(entry) {
308
- return {
309
- session_id: entry.session_id,
310
- turn_count: entry.turn_count,
311
- state: entry.state,
312
- started_at: entry.started_at,
313
- last_event: entry.last_event,
314
- last_message: entry.last_message,
315
- last_event_at: entry.last_event_at,
316
- tokens: {
317
- input_tokens: entry.input_tokens,
318
- output_tokens: entry.output_tokens,
319
- total_tokens: entry.total_tokens,
320
- },
321
- };
322
- }
323
- function buildIssueDetailRetrySection(retry) {
324
- return {
325
- attempt: retry.attempt,
326
- due_at: new Date(retry.due_at_ms).toISOString(),
327
- error: retry.error,
328
- kind: retry.kind,
329
- };
330
- }
331
- //# sourceMappingURL=orchestrator-decisions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orchestrator-decisions.js","sourceRoot":"","sources":["../src/orchestrator-decisions.ts"],"names":[],"mappings":"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"}