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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,+EAA+E;AAC/E,iEAAiE;AACjE,EAAE;AACF,sEAAsE;AACtE,gFAAgF;AAChF,gFAAgF;AAChF,6EAA6E;AAC7E,gCAAgC;AAEhC,qEAAqE;AACrE,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAClC,KAAM,SAAQ,KAAK;IAEC;IADlB,YACkB,IAAY,EAC5B,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAQ;QAI5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF,CAAC;AAEJ,wCAAwC;AACxC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAClC,KAAM,SAAQ,KAAK;IACjB,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF,CAAC;AAEJ,kDAAkD;AAClD,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;AAGzD,2DAA2D;AAC3D,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AAGrD,uEAAuE;AACvE,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;AAGvD,wEAAwE;AACxE,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAGrE,qGAAqG;AACrG,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ // FCIS rewrite — output vocabulary of the pure issue-detail DTO builder
2
+ // (src/core/http/decisions.ts:buildIssueDetailDto). Declarations only (src/types
3
+ // holds no runtime logic). The decider re-exports these so importers keep the
4
+ // original `core/http/decisions.js` specifier.
5
+ export {};
6
+ //# sourceMappingURL=decisions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../../src/types/http/decisions.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,iFAAiF;AACjF,8EAA8E;AAC9E,+CAA+C"}
@@ -0,0 +1,10 @@
1
+ // FCIS rewrite — render-input view types for src/core/http/render.ts.
2
+ //
3
+ // The pure render layer consumes flat, read-only projections. The shell
4
+ // composition root builds these from the FCIS runtime views (RunningEntryView /
5
+ // RetryEntry / the host-side health probe) before calling in. Field names mirror
6
+ // the original snapshot rows so the port stays line-for-line faithful.
7
+ //
8
+ // Declarations only — no runtime logic (src/types purity gate).
9
+ export {};
10
+ //# sourceMappingURL=render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/types/http/render.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,wEAAwE;AACxE,gFAAgF;AAChF,iFAAiF;AACjF,uEAAuE;AACvE,EAAE;AACF,gEAAgE"}
@@ -0,0 +1,6 @@
1
+ // FCIS rewrite — input vocabulary of the pure dashboard view-model builders
2
+ // (src/core/http/views.ts). Declarations only (src/types holds no runtime
3
+ // logic). The builders re-export these so importers keep the original
4
+ // `core/http/views.js` specifier.
5
+ export {};
6
+ //# sourceMappingURL=views.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"views.js","sourceRoot":"","sources":["../../../src/types/http/views.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,0EAA0E;AAC1E,sEAAsE;AACtE,kCAAkC"}
@@ -0,0 +1,9 @@
1
+ // FCIS rewrite — HTTP request classification + decision DTOs + view models.
2
+ //
3
+ // Core http/routes + http/decisions parse a request into a typed Route/decision
4
+ // (data → data). Core http/views builds the dashboard view models and the
5
+ // in-code HTML string render layer (renderDashboardHtml, board/health/attention
6
+ // partials, markdown render — all PURE string-building, the critic's biggest
7
+ // unmapped cluster). The shell only reads the body and writes the response.
8
+ export {};
9
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/types/http.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,EAAE;AACF,gFAAgF;AAChF,0EAA0E;AAC1E,gFAAgF;AAChF,6EAA6E;AAC7E,4EAA4E"}
@@ -0,0 +1,7 @@
1
+ // FCIS rewrite — shared types for the managed prebuilt-image source (issue 224).
2
+ // Pure declarations: imported by BOTH the pure core helpers
3
+ // (src/core/image/managed-image.ts) and the shell fetcher adapter
4
+ // (src/shell/adapter/gondolin-image-fetch.ts), so neither side reaches across the
5
+ // core/shell seam for the shape.
6
+ export {};
7
+ //# sourceMappingURL=managed-image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-image.js","sourceRoot":"","sources":["../../../src/types/image/managed-image.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,kEAAkE;AAClE,kFAAkF;AAClF,iCAAiC"}
@@ -0,0 +1,8 @@
1
+ // FCIS rewrite — type surface for the central effect-interpreter seam.
2
+ //
3
+ // The runtime router lives in src/shell/effect-interpreter.ts; these are the
4
+ // injection-port declarations it routes through (extracted here because src/core
5
+ // + src/shell may not declare exported types). The shell file re-exports them so
6
+ // importers keep their original `./effect-interpreter.js` specifier.
7
+ export {};
8
+ //# sourceMappingURL=effect-interpreter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-interpreter.js","sourceRoot":"","sources":["../../../src/types/interp/effect-interpreter.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,6EAA6E;AAC7E,iFAAiF;AACjF,iFAAiF;AACjF,qEAAqE"}
@@ -0,0 +1,7 @@
1
+ // Tracker effect-interpreter port surface (declarations only).
2
+ //
3
+ // The shell adapter `src/shell/interp/tracker.ts` implements this; main.ts wires
4
+ // it. Lives here (not in the shell file) because exported types must live in
5
+ // src/types — the shell file re-exports it so importers keep their specifier.
6
+ export {};
7
+ //# sourceMappingURL=tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracker.js","sourceRoot":"","sources":["../../../src/types/interp/tracker.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,iFAAiF;AACjF,6EAA6E;AAC7E,8EAA8E"}
@@ -0,0 +1,6 @@
1
+ // FCIS rewrite — types for the pure issue-file serializer (core/issue/file.ts).
2
+ //
3
+ // Declarations only. The runtime logic (composeIssueFile) lives in
4
+ // src/core/issue/file.ts and re-exports these types so importers are untouched.
5
+ export {};
6
+ //# sourceMappingURL=file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/types/issue/file.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,mEAAmE;AACnE,gFAAgF"}
@@ -0,0 +1,8 @@
1
+ // FCIS rewrite — raw issue-file input shape (SPEC §3.2).
2
+ //
3
+ // Pure type declaration only. The decision logic that consumes it lives in
4
+ // src/core/issue/parse.ts; the shell scanner produces it. Exported types must
5
+ // live under src/types/** (core may not declare exported types), so the
6
+ // interface lives here and core re-exports it.
7
+ export {};
8
+ //# sourceMappingURL=parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/types/issue/parse.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,wEAAwE;AACxE,+CAA+C"}
@@ -0,0 +1,13 @@
1
+ // FCIS rewrite — pure type declarations for the ACP-substrate builder
2
+ // (src/shell/main-acp.ts). Co-located in src/types because exported types may not
3
+ // live in the shell ring.
4
+ //
5
+ // `createAcpInterpreter` (shell/interp/acp.ts) is the real {@link AcpPort} over the
6
+ // `/acp` WebSocket. It binds to the SAME {@link AcpWsRegistry} the unified HTTP
7
+ // server exposes on the `/acp` Upgrade (a.acpWs), so a guest dial-back resolves the
8
+ // Duplex the host SDK drives. The interpreter resolves a `vmId → context` through a
9
+ // per-dispatch DISPATCH-CONTEXT registry the runner slice populates at bring-up:
10
+ // here we construct that registry empty (no dispatch is active until the runner
11
+ // registers one), exposing the writer for the runner slice to wire.
12
+ export {};
13
+ //# sourceMappingURL=main-acp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-acp.js","sourceRoot":"","sources":["../../src/types/main-acp.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,kFAAkF;AAClF,0BAA0B;AAC1B,EAAE;AACF,oFAAoF;AACpF,gFAAgF;AAChF,oFAAoF;AACpF,oFAAoF;AACpF,iFAAiF;AACjF,gFAAgF;AAChF,oEAAoE"}
@@ -0,0 +1,5 @@
1
+ // Type declarations for the composition-root adapter construction
2
+ // (src/shell/main-adapters.ts). Co-located in src/types because exported types
3
+ // may not live in the shell ring.
4
+ export {};
5
+ //# sourceMappingURL=main-adapters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-adapters.js","sourceRoot":"","sources":["../../src/types/main-adapters.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,+EAA+E;AAC/E,kCAAkC"}
@@ -0,0 +1,21 @@
1
+ // FCIS rewrite — pure type declarations for the credential-substrate builder
2
+ // (src/shell/main-credential.ts). Co-located in src/types because exported types
3
+ // may not live in the shell ring; the builder + the composition root read them.
4
+ //
5
+ // The credential slice has TWO consumers:
6
+ // 1. the central interpreter's `credential` Effect family → the host-only
7
+ // {@link CredentialPort} (probe / read_identity / refresh / exchange / lock).
8
+ // 2. the runner / gondolin-dispatch slice → the per-VM egress SUBSTRATE: the
9
+ // live SecretManager registry + the per-VM `createHttpHooks` builder (egress
10
+ // audit + secret substitution + the PR#119 codex chatgpt-backend route swap)
11
+ // + the periodic refresh ticker.
12
+ //
13
+ // Both are constructed in the core-free `buildCredentialSubstrate` builder from the
14
+ // PURE core deciders the composition root injects (only the root imports core).
15
+ //
16
+ // PURITY: this file imports src/types ONLY (no core, no shell) — every reference to
17
+ // a concrete impl (CredentialSecretRegistry / CredentialTicker / the core
18
+ // assemblers) is declared here as a STRUCTURAL interface or function-type, not a
19
+ // `typeof`-import of the concrete module.
20
+ export {};
21
+ //# sourceMappingURL=main-credential.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-credential.js","sourceRoot":"","sources":["../../src/types/main-credential.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,iFAAiF;AACjF,gFAAgF;AAChF,EAAE;AACF,0CAA0C;AAC1C,4EAA4E;AAC5E,mFAAmF;AACnF,+EAA+E;AAC/E,kFAAkF;AAClF,kFAAkF;AAClF,sCAAsC;AACtC,EAAE;AACF,oFAAoF;AACpF,gFAAgF;AAChF,EAAE;AACF,oFAAoF;AACpF,0EAA0E;AAC1E,iFAAiF;AACjF,0CAA0C"}
@@ -0,0 +1,6 @@
1
+ // FCIS rewrite — pure type declarations for the doctor preflight closure builder
2
+ // (src/shell/main-doctor.ts). Co-located in src/types because exported types may not
3
+ // live in the shell ring. The shapes mirror what `runDoctorCli` / `defaultDoctorDeps`
4
+ // accept; the composition root binds the real core checks/classifiers + parser.
5
+ export {};
6
+ //# sourceMappingURL=main-doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-doctor.js","sourceRoot":"","sources":["../../src/types/main-doctor.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,qFAAqF;AACrF,sFAAsF;AACtF,gFAAgF"}
@@ -0,0 +1,12 @@
1
+ // Type declarations for the composition-root HTTP request handler
2
+ // (src/shell/main-http-handler.ts). Co-located in src/types because exported
3
+ // types may not live in the shell ring.
4
+ //
5
+ // `main-http-handler.ts` is the dashboard/REST request router. It mirrors
6
+ // `main-adapters.ts` / `main-reconcilers.ts`: it RECEIVES the pure CORE
7
+ // router/decider/render/view functions (the shell may not import core) plus the
8
+ // live state accessors + the tracker IO it needs, and assembles the single
9
+ // `handle(req) -> Promise<HttpResponseSpec>` seam the node:http server calls. It
10
+ // imports NO core — every pure function arrives wired here as a value.
11
+ export {};
12
+ //# sourceMappingURL=main-http-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-http-handler.js","sourceRoot":"","sources":["../../src/types/main-http-handler.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,6EAA6E;AAC7E,wCAAwC;AACxC,EAAE;AACF,0EAA0E;AAC1E,wEAAwE;AACxE,gFAAgF;AAChF,2EAA2E;AAC3E,iFAAiF;AACjF,uEAAuE"}
@@ -0,0 +1,5 @@
1
+ // Type declarations for the composition-root HTTP boot cluster
2
+ // (src/shell/main-http.ts). Co-located in src/types because exported types may
3
+ // not live in the shell ring.
4
+ export {};
5
+ //# sourceMappingURL=main-http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-http.js","sourceRoot":"","sources":["../../src/types/main-http.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+EAA+E;AAC/E,8BAA8B"}
@@ -0,0 +1,5 @@
1
+ // FCIS rewrite — pure type declarations for the orchestrator+runner loops builder
2
+ // (src/shell/main-loops.ts). Co-located in src/types because exported types may not
3
+ // live in the shell ring.
4
+ export {};
5
+ //# sourceMappingURL=main-loops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-loops.js","sourceRoot":"","sources":["../../src/types/main-loops.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,oFAAoF;AACpF,0BAA0B"}
@@ -0,0 +1,12 @@
1
+ // Type declarations for the composition-root MCP-runtime construction
2
+ // (src/shell/main-mcp.ts). Co-located in src/types because exported types may not
3
+ // live in the shell ring.
4
+ //
5
+ // `main-mcp.ts` mirrors `main-adapters.ts` / `main-reconcilers.ts`: it builds the
6
+ // per-issue MCP control-plane runtime (createMcpRuntime) + the single
7
+ // `applyMcpEffect` the central interpreter routes the `mcp_tool` family through,
8
+ // from injected IO ports + the pure CORE deciders. It imports NO core (only the
9
+ // composition root may) — every pure decider arrives wired here as a function
10
+ // value (the `McpCore` bundle the runtime closes over).
11
+ export {};
12
+ //# sourceMappingURL=main-mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-mcp.js","sourceRoot":"","sources":["../../src/types/main-mcp.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,kFAAkF;AAClF,0BAA0B;AAC1B,EAAE;AACF,kFAAkF;AAClF,sEAAsE;AACtE,iFAAiF;AACjF,gFAAgF;AAChF,8EAA8E;AAC9E,wDAAwD"}
@@ -0,0 +1,5 @@
1
+ // Type declarations for the composition-root OrchestratorLoop deps construction
2
+ // (src/shell/main-orchestrator.ts). Co-located in src/types because exported
3
+ // types may not live in the shell ring.
4
+ export {};
5
+ //# sourceMappingURL=main-orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-orchestrator.js","sourceRoot":"","sources":["../../src/types/main-orchestrator.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,6EAA6E;AAC7E,wCAAwC"}
@@ -0,0 +1,11 @@
1
+ // Type declarations for the composition-root reconciler-pass construction
2
+ // (src/shell/main-reconcilers.ts). Co-located in src/types because exported
3
+ // types may not live in the shell ring.
4
+ //
5
+ // `main-reconcilers.ts` mirrors `main-adapters.ts`: it builds the three
6
+ // reconciler passes (VM reaper / workspace janitor / PR autopilot) and the two
7
+ // effect appliers (applyKillStep / applyPrEffect) from injected IO ports + the
8
+ // pure CORE deciders. It imports NO core (only the composition root may) — every
9
+ // pure decider arrives already wired here as a function value.
10
+ export {};
11
+ //# sourceMappingURL=main-reconcilers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-reconcilers.js","sourceRoot":"","sources":["../../src/types/main-reconcilers.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,4EAA4E;AAC5E,wCAAwC;AACxC,EAAE;AACF,wEAAwE;AACxE,+EAA+E;AAC/E,+EAA+E;AAC/E,iFAAiF;AACjF,+DAA+D"}
@@ -0,0 +1,13 @@
1
+ // FCIS rewrite — pure type declarations for the composition-root RUNNER slice
2
+ // construction (src/shell/main-runner.ts). Co-located in src/types because
3
+ // exported types may not live in the shell ring.
4
+ //
5
+ // main-runner.ts mirrors main-adapters / main-reconcilers / main-mcp / main-
6
+ // credential: it builds the live runner pipeline (the per-attempt `runAttempt`
7
+ // driver + its terminal-actions runner + a credential-aware VmClient) and the
8
+ // `DispatchRunner` (runWorker) the orchestrator loop spawns per dispatch, from
9
+ // injected IO ports + the pure CORE deciders. It imports NO core (only the
10
+ // composition root may) — every pure decider arrives wired here as a function
11
+ // value (the `RunnerCore` bundle the runner closes over).
12
+ export {};
13
+ //# sourceMappingURL=main-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-runner.js","sourceRoot":"","sources":["../../src/types/main-runner.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2EAA2E;AAC3E,iDAAiD;AACjD,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,2EAA2E;AAC3E,8EAA8E;AAC9E,0DAA0D"}
@@ -0,0 +1,5 @@
1
+ // FCIS rewrite — pure type declarations for the startup-sequence helper
2
+ // (src/shell/main-startup.ts). Co-located in src/types because exported types may
3
+ // not live in the shell ring.
4
+ export {};
5
+ //# sourceMappingURL=main-startup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-startup.js","sourceRoot":"","sources":["../../src/types/main-startup.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,kFAAkF;AAClF,8BAA8B"}
@@ -0,0 +1,5 @@
1
+ // FCIS rewrite — pure type declarations for the transport-substrate builder
2
+ // (src/shell/main-substrates.ts). Co-located in src/types because exported types
3
+ // may not live in the shell ring.
4
+ export {};
5
+ //# sourceMappingURL=main-substrates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-substrates.js","sourceRoot":"","sources":["../../src/types/main-substrates.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,iFAAiF;AACjF,kCAAkC"}
@@ -0,0 +1,4 @@
1
+ // FCIS rewrite — types for the pure MCP tools/call PRE-move decider
2
+ // (src/core/mcp/dispatch.ts). Declarations only; the logic lives in core.
3
+ export {};
4
+ //# sourceMappingURL=dispatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../src/types/mcp/dispatch.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,0EAA0E"}
@@ -0,0 +1,7 @@
1
+ // FCIS rewrite — MCP transition POST-move fold types (declarations only).
2
+ //
3
+ // Mirror for the interfaces consumed/produced by core/mcp/post-move.foldPostMove.
4
+ // Kept here (not in core) so the exported-types-belong-in-src/types gate holds;
5
+ // core/mcp/post-move re-exports these so importers keep their specifier.
6
+ export {};
7
+ //# sourceMappingURL=post-move.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-move.js","sourceRoot":"","sources":["../../../src/types/mcp/post-move.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,EAAE;AACF,kFAAkF;AAClF,gFAAgF;AAChF,yEAAyE"}
@@ -0,0 +1,9 @@
1
+ // FCIS rewrite — MCP JSON-RPC protocol + tool dispatch types.
2
+ //
3
+ // Core mcp/dispatch validates the envelope + tool inputs and emits McpEffect[]
4
+ // (the pre-move decisions); the post-move flag derivation (cleanup gate keyed on
5
+ // the RESOLVED tracker toState) is folded in core/mcp via the decide→IO→decide
6
+ // pattern, NOT a single pure dispatcher. The steering awaiter Promise lives in
7
+ // the SHELL (mcp-runtime) — core only emits stash/await effects.
8
+ export {};
9
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/types/mcp.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,+EAA+E;AAC/E,iFAAiF;AACjF,+EAA+E;AAC/E,+EAA+E;AAC/E,iEAAiE"}
@@ -0,0 +1,12 @@
1
+ // FCIS rewrite — port interfaces (the composition-root injection seams).
2
+ //
3
+ // One port per external system, so a fake is a one-method object (Design #2's
4
+ // discipline). Port METHODS MAY be async — ports are the boundary. Deterministic
5
+ // seams (Clock / RandomSource / CryptoEnv) are SYNCHRONOUS reads injected into
6
+ // deciders as values, so cores stay pure+synchronous without an interpreter
7
+ // round-trip (the synthesis non-determinism rule). The central EffectInterpreter
8
+ // is the single execute(Effect)→Promise<EffectResult> seam every loop drains
9
+ // through. ONLY src/shell/main.ts (the composition root) wires concrete adapters
10
+ // to the core.
11
+ export {};
12
+ //# sourceMappingURL=ports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ports.js","sourceRoot":"","sources":["../../src/types/ports.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,8EAA8E;AAC9E,iFAAiF;AACjF,+EAA+E;AAC/E,4EAA4E;AAC5E,iFAAiF;AACjF,6EAA6E;AAC7E,iFAAiF;AACjF,eAAe"}
@@ -0,0 +1,5 @@
1
+ // FCIS rewrite — types for the image-readiness decision core (src/core/reconcile/
2
+ // image-decide.ts, issue 206). Declarations only; the core module re-exports them so
3
+ // importers keep the original specifier.
4
+ export {};
5
+ //# sourceMappingURL=image-decide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-decide.js","sourceRoot":"","sources":["../../../src/types/reconcile/image-decide.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,qFAAqF;AACrF,yCAAyC"}
@@ -0,0 +1,7 @@
1
+ // FCIS rewrite — types for src/core/reconcile/ledger.ts.
2
+ //
3
+ // Pure declarations only (the exported-types-live-in-src/types invariant). The
4
+ // ledger reducer DECISIONS live in src/core/reconcile/ledger.ts, which re-exports
5
+ // this type so existing importers (the unit test) stay untouched.
6
+ export {};
7
+ //# sourceMappingURL=ledger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../../src/types/reconcile/ledger.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,EAAE;AACF,+EAA+E;AAC/E,kFAAkF;AAClF,kEAAkE"}
@@ -0,0 +1,8 @@
1
+ // FCIS rewrite — PR autopilot loop-driver types (declarations only).
2
+ //
3
+ // Split out of src/core/reconcile/pr-loop.ts so the core module stays free of
4
+ // exported type declarations (hexagonal rule: exported types live in src/types).
5
+ // Only `PrEffectOutcome` is imported outside pr-loop.ts (by its unit test); the
6
+ // loop driver re-exports it so importers keep their original specifier.
7
+ export {};
8
+ //# sourceMappingURL=pr-loop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-loop.js","sourceRoot":"","sources":["../../../src/types/reconcile/pr-loop.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,EAAE;AACF,8EAA8E;AAC9E,iFAAiF;AACjF,gFAAgF;AAChF,wEAAwE"}
@@ -0,0 +1,8 @@
1
+ // FCIS rewrite — types for src/core/reconcile/vm-reap.ts (the per-session
2
+ // SIGTERM → grace → probe → SIGKILL kill fold).
3
+ //
4
+ // Pure declarations only (the exported-types-live-in-src/types invariant). The
5
+ // kill DECISIONS live in src/core/reconcile/vm-reap.ts, which re-exports these
6
+ // types so existing importers (the unit test) keep the original specifier.
7
+ export {};
8
+ //# sourceMappingURL=vm-reap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vm-reap.js","sourceRoot":"","sources":["../../../src/types/reconcile/vm-reap.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gDAAgD;AAChD,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,2EAA2E"}
@@ -0,0 +1,7 @@
1
+ // FCIS rewrite — public result types for the pure workspace-janitor decider.
2
+ //
3
+ // These are the data shapes returned by `src/core/reconcile/workspace-decide.ts`.
4
+ // They live here (not in core) because core may not declare exported types; the
5
+ // decider re-exports them so importers keep their original specifier.
6
+ export {};
7
+ //# sourceMappingURL=workspace-decide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-decide.js","sourceRoot":"","sources":["../../../src/types/reconcile/workspace-decide.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,kFAAkF;AAClF,gFAAgF;AAChF,sEAAsE"}
@@ -0,0 +1,9 @@
1
+ // FCIS rewrite — reconciler types (VM reaper, workspace janitor, PR autopilot).
2
+ //
3
+ // The reconciler converges managed external resources toward a declared desired
4
+ // state. Each resource is a pure decider + a pure fold reducer (per the
5
+ // synthesis: pr-decide + pr-loop, vm-decide + vm-reap, workspace-decide). Action
6
+ // records are typed data, not closures, so the same snapshot/ledger machinery
7
+ // renders per-action state on the dashboard across both action surfaces.
8
+ export {};
9
+ //# sourceMappingURL=reconcile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../../src/types/reconcile.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,gFAAgF;AAChF,wEAAwE;AACxE,iFAAiF;AACjF,8EAA8E;AAC9E,yEAAyE"}
@@ -0,0 +1,7 @@
1
+ // FCIS rewrite — per-issue JSONL run log + run-summary reducer types.
2
+ //
3
+ // The run log lifecycle (open/record/system/write_summary/close) is modeled as
4
+ // RunLog Effects executed by the shell. summarizeRunLog is a PURE reducer in
5
+ // core that turns accumulated lifecycle entries into a RunSummary.
6
+ export const RUN_SUMMARY_SCHEMA_VERSION = 1;
7
+ //# sourceMappingURL=runlog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runlog.js","sourceRoot":"","sources":["../../src/types/runlog.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,mEAAmE;AAEnE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ // FCIS rewrite — pure type declarations for the terminal-state actions runner
2
+ // (shell/actions-runner.ts). The shell may not declare exported types, so the
3
+ // runner's injected-core bundle + its construction inputs live here; the shell
4
+ // re-exports them.
5
+ //
6
+ // The actions runner is the §2g wiring: it resolves a terminal state's
7
+ // `actions:` block, derives the templating context, plans the per-action Effect
8
+ // sequences, and drives them through the SAME central effect interpreter the rest
9
+ // of the runner uses — folding each outcome back through the pure run-fold ledger.
10
+ // A `run_in_vm` action execs uncached on the live VM (phase 8 keeps it alive).
11
+ export {};
12
+ //# sourceMappingURL=actions-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions-runner.js","sourceRoot":"","sources":["../../../src/types/runner/actions-runner.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,8EAA8E;AAC9E,+EAA+E;AAC/E,mBAAmB;AACnB,EAAE;AACF,uEAAuE;AACvE,gFAAgF;AAChF,kFAAkF;AAClF,mFAAmF;AACnF,+EAA+E"}
@@ -0,0 +1,5 @@
1
+ // FCIS rewrite — pure type declarations for the per-dispatch Gondolin bring-up
2
+ // adapter (shell/adapter/gondolin-dispatch.ts). Exported types live here so the
3
+ // shell adapter holds runtime logic only; it re-exports these as types.
4
+ export {};
5
+ //# sourceMappingURL=gondolin-dispatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gondolin-dispatch.js","sourceRoot":"","sources":["../../../src/types/runner/gondolin-dispatch.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,gFAAgF;AAChF,wEAAwE"}
@@ -0,0 +1,6 @@
1
+ // FCIS rewrite — pure type declarations for the runtime-injection fold
2
+ // (core/runner/injection.ts). Mirrors the reference `applyRuntimeInjections`
3
+ // return shape plus the adapter binary/argv split `prepareAdapterRuntime`
4
+ // computed alongside it.
5
+ export {};
6
+ //# sourceMappingURL=injection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injection.js","sourceRoot":"","sources":["../../../src/types/runner/injection.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,6EAA6E;AAC7E,0EAA0E;AAC1E,yBAAyB"}
@@ -0,0 +1,5 @@
1
+ // FCIS rewrite — pure type declarations for the per-attempt runner loop
2
+ // (shell/runner-loop.ts). The shell may not declare exported types, so the
3
+ // loop's public interfaces live here; the shell re-exports them.
4
+ export {};
5
+ //# sourceMappingURL=runner-loop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-loop.js","sourceRoot":"","sources":["../../../src/types/runner/runner-loop.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,2EAA2E;AAC3E,iEAAiE"}
@@ -0,0 +1,4 @@
1
+ // FCIS rewrite — pure type declarations for the turn-loop reducer
2
+ // (core/runner/turn.ts). Holds the input shape for `decideAttemptOutcome`.
3
+ export {};
4
+ //# sourceMappingURL=turn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn.js","sourceRoot":"","sources":["../../../src/types/runner/turn.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,2EAA2E"}
@@ -0,0 +1,4 @@
1
+ // FCIS rewrite — pure type declarations for the per-dispatch VmPlan assembly
2
+ // (core/runner/vm-plan.ts:buildVmPlan). The shell supplies the runtime facts.
3
+ export {};
4
+ //# sourceMappingURL=vm-plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vm-plan.js","sourceRoot":"","sources":["../../../src/types/runner/vm-plan.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,8EAA8E"}
@@ -0,0 +1,9 @@
1
+ // FCIS rewrite — orchestrator/runner in-memory runtime state.
2
+ //
3
+ // These are the snapshots the scheduler/runner/admission/breaker deciders fold
4
+ // over. RunningEntry is a PLAIN-DATA snapshot: the imperative `cancel` closure
5
+ // and the live `active_tool_calls` Set live on the SHELL's running map, NOT in
6
+ // core. Core reducers receive a read-only projection (RunningEntryView) so they
7
+ // stay synchronous and own no live handles.
8
+ export {};
9
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/types/runtime.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,gFAAgF;AAChF,4CAA4C"}
@@ -0,0 +1,7 @@
1
+ // FCIS rewrite — admission summary type (data, no runtime).
2
+ //
3
+ // The shape the memory-admission decider (src/core/schedule/admission.ts)
4
+ // produces and that slot accounting + the snapshot endpoint consume. Lives in
5
+ // src/types so core/shell only declare values, not exported types.
6
+ export {};
7
+ //# sourceMappingURL=admission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admission.js","sourceRoot":"","sources":["../../../src/types/schedule/admission.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,EAAE;AACF,0EAA0E;AAC1E,8EAA8E;AAC9E,mEAAmE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=circuit-breaker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../../../src/types/schedule/circuit-breaker.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ // FCIS rewrite — types for src/core/schedule/eligibility.ts (the pure
2
+ // dispatch-eligibility decisions).
3
+ //
4
+ // Pure declarations only (the exported-types-live-in-src/types invariant). The
5
+ // eligibility DECISIONS live in src/core/schedule/eligibility.ts, which
6
+ // re-exports this type so existing importers (the unit test) keep the original
7
+ // specifier.
8
+ export {};
9
+ //# sourceMappingURL=eligibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eligibility.js","sourceRoot":"","sources":["../../../src/types/schedule/eligibility.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,mCAAmC;AACnC,EAAE;AACF,+EAA+E;AAC/E,wEAAwE;AACxE,+EAA+E;AAC/E,aAAa"}