@revisium/orchestrator 0.1.0-alpha.3 → 0.1.0-alpha.5

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 (354) hide show
  1. package/control-plane/bootstrap.config.json +57 -0
  2. package/control-plane/default-playbook/catalog/pipelines.json +317 -49
  3. package/control-plane/default-playbook/catalog/roles.json +9 -0
  4. package/control-plane/default-playbook/prompts/analyst.md +3 -1
  5. package/control-plane/default-playbook/prompts/developer.md +2 -1
  6. package/control-plane/default-playbook/prompts/reviewer.md +4 -3
  7. package/control-plane/default-playbook/prompts/triager.md +51 -0
  8. package/control-plane/default-playbook/prompts/watcher.md +2 -2
  9. package/dist/api/graphql-api/filters/graphql-validation-exception.filter.js +36 -0
  10. package/dist/api/graphql-api/filters/graphql-validation-exception.filter.js.map +1 -0
  11. package/dist/api/graphql-api/graphql-api.module.js +75 -0
  12. package/dist/api/graphql-api/graphql-api.module.js.map +1 -0
  13. package/dist/api/graphql-api/graphql-ws/constants.js +9 -0
  14. package/dist/api/graphql-api/graphql-ws/constants.js.map +1 -0
  15. package/dist/api/graphql-api/graphql-ws/pubsub.module.js +29 -0
  16. package/dist/api/graphql-api/graphql-ws/pubsub.module.js.map +1 -0
  17. package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js +101 -0
  18. package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js.map +1 -0
  19. package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js +115 -0
  20. package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js.map +1 -0
  21. package/dist/api/graphql-api/graphql-ws/subscription-mappers.js +85 -0
  22. package/dist/api/graphql-api/graphql-ws/subscription-mappers.js.map +1 -0
  23. package/dist/api/graphql-api/graphql-ws/ws.js +22 -0
  24. package/dist/api/graphql-api/graphql-ws/ws.js.map +1 -0
  25. package/dist/api/graphql-api/inbox/inbox-subscription.resolver.js +56 -0
  26. package/dist/api/graphql-api/inbox/inbox-subscription.resolver.js.map +1 -0
  27. package/dist/api/graphql-api/inbox/inbox.resolver.js +125 -0
  28. package/dist/api/graphql-api/inbox/inbox.resolver.js.map +1 -0
  29. package/dist/api/graphql-api/inbox/inputs/answer-question.input.js +33 -0
  30. package/dist/api/graphql-api/inbox/inputs/answer-question.input.js.map +1 -0
  31. package/dist/api/graphql-api/inbox/inputs/gate-decision.input.js +27 -0
  32. package/dist/api/graphql-api/inbox/inputs/gate-decision.input.js.map +1 -0
  33. package/dist/api/graphql-api/inbox/inputs/list-inbox.input.js +28 -0
  34. package/dist/api/graphql-api/inbox/inputs/list-inbox.input.js.map +1 -0
  35. package/dist/api/graphql-api/inbox/inputs/resolve-inbox-item.input.js +38 -0
  36. package/dist/api/graphql-api/inbox/inputs/resolve-inbox-item.input.js.map +1 -0
  37. package/dist/api/graphql-api/inbox/model/gate-risk.model.js +53 -0
  38. package/dist/api/graphql-api/inbox/model/gate-risk.model.js.map +1 -0
  39. package/dist/api/graphql-api/inbox/model/inbox-connection.model.js +16 -0
  40. package/dist/api/graphql-api/inbox/model/inbox-connection.model.js.map +1 -0
  41. package/dist/api/graphql-api/inbox/model/inbox-item.model.js +88 -0
  42. package/dist/api/graphql-api/inbox/model/inbox-item.model.js.map +1 -0
  43. package/dist/api/graphql-api/inbox/model/inbox-resolution.model.js +48 -0
  44. package/dist/api/graphql-api/inbox/model/inbox-resolution.model.js.map +1 -0
  45. package/dist/api/graphql-api/method/inputs/list-method.input.js +15 -0
  46. package/dist/api/graphql-api/method/inputs/list-method.input.js.map +1 -0
  47. package/dist/api/graphql-api/method/method.resolver.js +90 -0
  48. package/dist/api/graphql-api/method/method.resolver.js.map +1 -0
  49. package/dist/api/graphql-api/method/model/alternative-role-group.model.js +32 -0
  50. package/dist/api/graphql-api/method/model/alternative-role-group.model.js.map +1 -0
  51. package/dist/api/graphql-api/method/model/pipeline-connection.model.js +16 -0
  52. package/dist/api/graphql-api/method/model/pipeline-connection.model.js.map +1 -0
  53. package/dist/api/graphql-api/method/model/pipeline.model.js +69 -0
  54. package/dist/api/graphql-api/method/model/pipeline.model.js.map +1 -0
  55. package/dist/api/graphql-api/method/model/playbook-connection.model.js +16 -0
  56. package/dist/api/graphql-api/method/model/playbook-connection.model.js.map +1 -0
  57. package/dist/api/graphql-api/method/model/playbook.model.js +47 -0
  58. package/dist/api/graphql-api/method/model/playbook.model.js.map +1 -0
  59. package/dist/api/graphql-api/method/model/role-connection.model.js +16 -0
  60. package/dist/api/graphql-api/method/model/role-connection.model.js.map +1 -0
  61. package/dist/api/graphql-api/method/model/role.model.js +98 -0
  62. package/dist/api/graphql-api/method/model/role.model.js.map +1 -0
  63. package/dist/api/graphql-api/pr/inputs/pr-readiness.input.js +52 -0
  64. package/dist/api/graphql-api/pr/inputs/pr-readiness.input.js.map +1 -0
  65. package/dist/api/graphql-api/pr/model/pr-readiness.model.js +403 -0
  66. package/dist/api/graphql-api/pr/model/pr-readiness.model.js.map +1 -0
  67. package/dist/api/graphql-api/pr/pr.resolver.js +76 -0
  68. package/dist/api/graphql-api/pr/pr.resolver.js.map +1 -0
  69. package/dist/api/graphql-api/registerGraphqlEnums.js +4 -0
  70. package/dist/api/graphql-api/registerGraphqlEnums.js.map +1 -0
  71. package/dist/api/graphql-api/runs/inputs/create-run.input.js +63 -0
  72. package/dist/api/graphql-api/runs/inputs/create-run.input.js.map +1 -0
  73. package/dist/api/graphql-api/runs/inputs/get-run-attempts.input.js +32 -0
  74. package/dist/api/graphql-api/runs/inputs/get-run-attempts.input.js.map +1 -0
  75. package/dist/api/graphql-api/runs/inputs/get-run-events.input.js +28 -0
  76. package/dist/api/graphql-api/runs/inputs/get-run-events.input.js.map +1 -0
  77. package/dist/api/graphql-api/runs/inputs/list-runs.input.js +23 -0
  78. package/dist/api/graphql-api/runs/inputs/list-runs.input.js.map +1 -0
  79. package/dist/api/graphql-api/runs/inputs/simulate-route.input.js +43 -0
  80. package/dist/api/graphql-api/runs/inputs/simulate-route.input.js.map +1 -0
  81. package/dist/api/graphql-api/runs/model/create-run-result.model.js +53 -0
  82. package/dist/api/graphql-api/runs/model/create-run-result.model.js.map +1 -0
  83. package/dist/api/graphql-api/runs/model/run-attempt.model.js +114 -0
  84. package/dist/api/graphql-api/runs/model/run-attempt.model.js.map +1 -0
  85. package/dist/api/graphql-api/runs/model/run-connection.model.js +16 -0
  86. package/dist/api/graphql-api/runs/model/run-connection.model.js.map +1 -0
  87. package/dist/api/graphql-api/runs/model/run-cost.model.js +67 -0
  88. package/dist/api/graphql-api/runs/model/run-cost.model.js.map +1 -0
  89. package/dist/api/graphql-api/runs/model/run-digest.model.js +41 -0
  90. package/dist/api/graphql-api/runs/model/run-digest.model.js.map +1 -0
  91. package/dist/api/graphql-api/runs/model/run-event-connection.model.js +16 -0
  92. package/dist/api/graphql-api/runs/model/run-event-connection.model.js.map +1 -0
  93. package/dist/api/graphql-api/runs/model/run-event.model.js +58 -0
  94. package/dist/api/graphql-api/runs/model/run-event.model.js.map +1 -0
  95. package/dist/api/graphql-api/runs/model/run-progress.model.js +33 -0
  96. package/dist/api/graphql-api/runs/model/run-progress.model.js.map +1 -0
  97. package/dist/api/graphql-api/runs/model/run-workflow.model.js +287 -0
  98. package/dist/api/graphql-api/runs/model/run-workflow.model.js.map +1 -0
  99. package/dist/api/graphql-api/runs/model/run.model.js +57 -0
  100. package/dist/api/graphql-api/runs/model/run.model.js.map +1 -0
  101. package/dist/api/graphql-api/runs/model/usage.model.js +32 -0
  102. package/dist/api/graphql-api/runs/model/usage.model.js.map +1 -0
  103. package/dist/api/graphql-api/runs/run-digest.resolver.js +40 -0
  104. package/dist/api/graphql-api/runs/run-digest.resolver.js.map +1 -0
  105. package/dist/api/graphql-api/runs/run-events.resolver.js +45 -0
  106. package/dist/api/graphql-api/runs/run-events.resolver.js.map +1 -0
  107. package/dist/api/graphql-api/runs/run-progress.resolver.js +53 -0
  108. package/dist/api/graphql-api/runs/run-progress.resolver.js.map +1 -0
  109. package/dist/api/graphql-api/runs/runs-subscription.resolver.js +93 -0
  110. package/dist/api/graphql-api/runs/runs-subscription.resolver.js.map +1 -0
  111. package/dist/api/graphql-api/runs/runs.resolver.js +130 -0
  112. package/dist/api/graphql-api/runs/runs.resolver.js.map +1 -0
  113. package/dist/api/graphql-api/share/graphql-param-types.js +6 -0
  114. package/dist/api/graphql-api/share/graphql-param-types.js.map +1 -0
  115. package/dist/api/graphql-api/share/inputs/connection.input.js +27 -0
  116. package/dist/api/graphql-api/share/inputs/connection.input.js.map +1 -0
  117. package/dist/api/graphql-api/share/inputs/run-subscription.input.js +22 -0
  118. package/dist/api/graphql-api/share/inputs/run-subscription.input.js.map +1 -0
  119. package/dist/api/graphql-api/share/model/paginated.model.js +75 -0
  120. package/dist/api/graphql-api/share/model/paginated.model.js.map +1 -0
  121. package/dist/api/graphql-api/system/model/daemon-status.model.js +47 -0
  122. package/dist/api/graphql-api/system/model/daemon-status.model.js.map +1 -0
  123. package/dist/api/graphql-api/system/model/doctor-result.model.js +33 -0
  124. package/dist/api/graphql-api/system/model/doctor-result.model.js.map +1 -0
  125. package/dist/api/graphql-api/system/model/project.model.js +37 -0
  126. package/dist/api/graphql-api/system/model/project.model.js.map +1 -0
  127. package/dist/api/graphql-api/system/model/repository-context.model.js +70 -0
  128. package/dist/api/graphql-api/system/model/repository-context.model.js.map +1 -0
  129. package/dist/api/graphql-api/system/model/repository-validation.model.js +62 -0
  130. package/dist/api/graphql-api/system/model/repository-validation.model.js.map +1 -0
  131. package/dist/api/graphql-api/system/model/system-status.model.js +29 -0
  132. package/dist/api/graphql-api/system/model/system-status.model.js.map +1 -0
  133. package/dist/api/graphql-api/system/system.resolver.js +83 -0
  134. package/dist/api/graphql-api/system/system.resolver.js.map +1 -0
  135. package/dist/cli/commands/inbox.js +1 -1
  136. package/dist/cli/commands/inbox.js.map +1 -1
  137. package/dist/cli/commands/run.js +0 -2
  138. package/dist/cli/commands/run.js.map +1 -1
  139. package/dist/cli/commands/serve.js +26 -0
  140. package/dist/cli/commands/serve.js.map +1 -0
  141. package/dist/cli/program.js +2 -0
  142. package/dist/cli/program.js.map +1 -1
  143. package/dist/config.js +15 -0
  144. package/dist/config.js.map +1 -1
  145. package/dist/control-plane/change-notifications.js +35 -0
  146. package/dist/control-plane/change-notifications.js.map +1 -0
  147. package/dist/control-plane/data-access.js +10 -3
  148. package/dist/control-plane/data-access.js.map +1 -1
  149. package/dist/control-plane/inbox.js +5 -31
  150. package/dist/control-plane/inbox.js.map +1 -1
  151. package/dist/control-plane/index.js +1 -1
  152. package/dist/control-plane/index.js.map +1 -1
  153. package/dist/control-plane/json-fields.js +1 -0
  154. package/dist/control-plane/json-fields.js.map +1 -1
  155. package/dist/control-plane/resolve-cwd.js +76 -8
  156. package/dist/control-plane/resolve-cwd.js.map +1 -1
  157. package/dist/control-plane/schema-migration.js +7 -0
  158. package/dist/control-plane/schema-migration.js.map +1 -1
  159. package/dist/control-plane/steps.js +15 -349
  160. package/dist/control-plane/steps.js.map +1 -1
  161. package/dist/control-plane/tables.js +1 -0
  162. package/dist/control-plane/tables.js.map +1 -1
  163. package/dist/e2e/kit/agents.js +32 -9
  164. package/dist/e2e/kit/agents.js.map +1 -1
  165. package/dist/e2e/kit/assertions.js +37 -14
  166. package/dist/e2e/kit/assertions.js.map +1 -1
  167. package/dist/e2e/kit/drive.js +0 -4
  168. package/dist/e2e/kit/drive.js.map +1 -1
  169. package/dist/e2e/kit/fake-integrator.js +16 -1
  170. package/dist/e2e/kit/fake-integrator.js.map +1 -1
  171. package/dist/e2e/kit/gh-emulator.js +173 -10
  172. package/dist/e2e/kit/gh-emulator.js.map +1 -1
  173. package/dist/e2e/kit/git-target-repo.js +35 -3
  174. package/dist/e2e/kit/git-target-repo.js.map +1 -1
  175. package/dist/e2e/kit/harness.js +4 -2
  176. package/dist/e2e/kit/harness.js.map +1 -1
  177. package/dist/engine/dbos.module.js +2 -1
  178. package/dist/engine/dbos.module.js.map +1 -1
  179. package/dist/engine/dbos.service.js +69 -18
  180. package/dist/engine/dbos.service.js.map +1 -1
  181. package/dist/features/inbox/commands/handlers/inbox-command.handlers.js +80 -0
  182. package/dist/features/inbox/commands/handlers/inbox-command.handlers.js.map +1 -0
  183. package/dist/features/inbox/commands/impl/answer-question.command.js +7 -0
  184. package/dist/features/inbox/commands/impl/answer-question.command.js.map +1 -0
  185. package/dist/features/inbox/commands/impl/approve-gate.command.js +7 -0
  186. package/dist/features/inbox/commands/impl/approve-gate.command.js.map +1 -0
  187. package/dist/features/inbox/commands/impl/reject-gate.command.js +7 -0
  188. package/dist/features/inbox/commands/impl/reject-gate.command.js.map +1 -0
  189. package/dist/features/inbox/commands/impl/resolve-inbox-item.command.js +7 -0
  190. package/dist/features/inbox/commands/impl/resolve-inbox-item.command.js.map +1 -0
  191. package/dist/features/inbox/commands/index.js +8 -0
  192. package/dist/features/inbox/commands/index.js.map +1 -0
  193. package/dist/features/inbox/inbox-api.module.js +23 -0
  194. package/dist/features/inbox/inbox-api.module.js.map +1 -0
  195. package/dist/features/inbox/inbox-api.service.js +63 -0
  196. package/dist/features/inbox/inbox-api.service.js.map +1 -0
  197. package/dist/features/inbox/queries/handlers/inbox-query.handlers.js +111 -0
  198. package/dist/features/inbox/queries/handlers/inbox-query.handlers.js.map +1 -0
  199. package/dist/features/inbox/queries/impl/get-inbox-item.query.js +7 -0
  200. package/dist/features/inbox/queries/impl/get-inbox-item.query.js.map +1 -0
  201. package/dist/features/inbox/queries/impl/get-pending-decisions.query.js +7 -0
  202. package/dist/features/inbox/queries/impl/get-pending-decisions.query.js.map +1 -0
  203. package/dist/features/inbox/queries/impl/list-inbox.query.js +7 -0
  204. package/dist/features/inbox/queries/impl/list-inbox.query.js.map +1 -0
  205. package/dist/features/inbox/queries/impl/summarize-gate-risk.query.js +7 -0
  206. package/dist/features/inbox/queries/impl/summarize-gate-risk.query.js.map +1 -0
  207. package/dist/features/inbox/queries/index.js +8 -0
  208. package/dist/features/inbox/queries/index.js.map +1 -0
  209. package/dist/features/method/commands/index.js +2 -0
  210. package/dist/features/method/commands/index.js.map +1 -0
  211. package/dist/features/method/method-api.module.js +23 -0
  212. package/dist/features/method/method-api.module.js.map +1 -0
  213. package/dist/features/method/method-api.service.js +47 -0
  214. package/dist/features/method/method-api.service.js.map +1 -0
  215. package/dist/features/method/queries/handlers/method-query.handlers.js +115 -0
  216. package/dist/features/method/queries/handlers/method-query.handlers.js.map +1 -0
  217. package/dist/features/method/queries/impl/get-pipeline.query.js +7 -0
  218. package/dist/features/method/queries/impl/get-pipeline.query.js.map +1 -0
  219. package/dist/features/method/queries/impl/get-role.query.js +7 -0
  220. package/dist/features/method/queries/impl/get-role.query.js.map +1 -0
  221. package/dist/features/method/queries/impl/list-pipelines.query.js +7 -0
  222. package/dist/features/method/queries/impl/list-pipelines.query.js.map +1 -0
  223. package/dist/features/method/queries/impl/list-playbooks.query.js +7 -0
  224. package/dist/features/method/queries/impl/list-playbooks.query.js.map +1 -0
  225. package/dist/features/method/queries/impl/list-roles.query.js +7 -0
  226. package/dist/features/method/queries/impl/list-roles.query.js.map +1 -0
  227. package/dist/features/method/queries/index.js +9 -0
  228. package/dist/features/method/queries/index.js.map +1 -0
  229. package/dist/features/pr/commands/index.js +2 -0
  230. package/dist/features/pr/commands/index.js.map +1 -0
  231. package/dist/features/pr/pr-api.module.js +23 -0
  232. package/dist/features/pr/pr-api.module.js.map +1 -0
  233. package/dist/features/pr/pr-api.service.js +35 -0
  234. package/dist/features/pr/pr-api.service.js.map +1 -0
  235. package/dist/features/pr/queries/handlers/pr-query.handlers.js +48 -0
  236. package/dist/features/pr/queries/handlers/pr-query.handlers.js.map +1 -0
  237. package/dist/features/pr/queries/impl/get-pr-readiness.query.js +7 -0
  238. package/dist/features/pr/queries/impl/get-pr-readiness.query.js.map +1 -0
  239. package/dist/features/pr/queries/impl/list-pr-feedback.query.js +7 -0
  240. package/dist/features/pr/queries/impl/list-pr-feedback.query.js.map +1 -0
  241. package/dist/features/pr/queries/index.js +3 -0
  242. package/dist/features/pr/queries/index.js.map +1 -0
  243. package/dist/features/runs/commands/handlers/runs-command.handlers.js +32 -0
  244. package/dist/features/runs/commands/handlers/runs-command.handlers.js.map +1 -0
  245. package/dist/features/runs/commands/impl/create-run.command.js +7 -0
  246. package/dist/features/runs/commands/impl/create-run.command.js.map +1 -0
  247. package/dist/features/runs/commands/index.js +3 -0
  248. package/dist/features/runs/commands/index.js.map +1 -0
  249. package/dist/features/runs/queries/handlers/runs-query.handlers.js +224 -0
  250. package/dist/features/runs/queries/handlers/runs-query.handlers.js.map +1 -0
  251. package/dist/features/runs/queries/impl/get-run-attempts.query.js +7 -0
  252. package/dist/features/runs/queries/impl/get-run-attempts.query.js.map +1 -0
  253. package/dist/features/runs/queries/impl/get-run-digest.query.js +7 -0
  254. package/dist/features/runs/queries/impl/get-run-digest.query.js.map +1 -0
  255. package/dist/features/runs/queries/impl/get-run-events.query.js +7 -0
  256. package/dist/features/runs/queries/impl/get-run-events.query.js.map +1 -0
  257. package/dist/features/runs/queries/impl/get-run-progress.query.js +7 -0
  258. package/dist/features/runs/queries/impl/get-run-progress.query.js.map +1 -0
  259. package/dist/features/runs/queries/impl/get-run-workflow.query.js +7 -0
  260. package/dist/features/runs/queries/impl/get-run-workflow.query.js.map +1 -0
  261. package/dist/features/runs/queries/impl/get-run.query.js +7 -0
  262. package/dist/features/runs/queries/impl/get-run.query.js.map +1 -0
  263. package/dist/features/runs/queries/impl/list-runs.query.js +7 -0
  264. package/dist/features/runs/queries/impl/list-runs.query.js.map +1 -0
  265. package/dist/features/runs/queries/impl/simulate-route.query.js +7 -0
  266. package/dist/features/runs/queries/impl/simulate-route.query.js.map +1 -0
  267. package/dist/features/runs/queries/index.js +12 -0
  268. package/dist/features/runs/queries/index.js.map +1 -0
  269. package/dist/features/runs/runs-api.module.js +23 -0
  270. package/dist/features/runs/runs-api.module.js.map +1 -0
  271. package/dist/features/runs/runs-api.service.js +67 -0
  272. package/dist/features/runs/runs-api.service.js.map +1 -0
  273. package/dist/features/shared/connection.js +39 -0
  274. package/dist/features/shared/connection.js.map +1 -0
  275. package/dist/features/system/commands/index.js +2 -0
  276. package/dist/features/system/commands/index.js.map +1 -0
  277. package/dist/features/system/queries/handlers/system-query.handlers.js +96 -0
  278. package/dist/features/system/queries/handlers/system-query.handlers.js.map +1 -0
  279. package/dist/features/system/queries/impl/doctor.query.js +4 -0
  280. package/dist/features/system/queries/impl/doctor.query.js.map +1 -0
  281. package/dist/features/system/queries/impl/get-project.query.js +4 -0
  282. package/dist/features/system/queries/impl/get-project.query.js.map +1 -0
  283. package/dist/features/system/queries/impl/get-repository-context.query.js +7 -0
  284. package/dist/features/system/queries/impl/get-repository-context.query.js.map +1 -0
  285. package/dist/features/system/queries/impl/get-status.query.js +4 -0
  286. package/dist/features/system/queries/impl/get-status.query.js.map +1 -0
  287. package/dist/features/system/queries/impl/validate-repository.query.js +7 -0
  288. package/dist/features/system/queries/impl/validate-repository.query.js.map +1 -0
  289. package/dist/features/system/queries/index.js +9 -0
  290. package/dist/features/system/queries/index.js.map +1 -0
  291. package/dist/features/system/system-api.module.js +23 -0
  292. package/dist/features/system/system-api.module.js.map +1 -0
  293. package/dist/features/system/system-api.service.js +47 -0
  294. package/dist/features/system/system-api.service.js.map +1 -0
  295. package/dist/host/host.lifecycle.js +16 -3
  296. package/dist/host/host.lifecycle.js.map +1 -1
  297. package/dist/http/graphql-host.js +50 -0
  298. package/dist/http/graphql-host.js.map +1 -0
  299. package/dist/http/graphql-host.module.js +20 -0
  300. package/dist/http/graphql-host.module.js.map +1 -0
  301. package/dist/infrastructure/metrics/graphql/graphql-metrics.js +91 -0
  302. package/dist/infrastructure/metrics/graphql/graphql-metrics.js.map +1 -0
  303. package/dist/pipeline/await-human.js +8 -4
  304. package/dist/pipeline/await-human.js.map +1 -1
  305. package/dist/pipeline/data-driven-task.workflow.js +268 -29
  306. package/dist/pipeline/data-driven-task.workflow.js.map +1 -1
  307. package/dist/pipeline/data-driven-template.js +3 -3
  308. package/dist/pipeline/pipeline.module.js +1 -1
  309. package/dist/pipeline/pipeline.module.js.map +1 -1
  310. package/dist/pipeline/{develop-task.workflow.js → pipeline.service.js} +44 -11
  311. package/dist/pipeline/pipeline.service.js.map +1 -0
  312. package/dist/pipeline-core/kit/builders.js +2 -0
  313. package/dist/pipeline-core/kit/builders.js.map +1 -1
  314. package/dist/pipeline-core/kit/fixtures.js +94 -0
  315. package/dist/pipeline-core/kit/fixtures.js.map +1 -1
  316. package/dist/pipeline-core/types.js +8 -0
  317. package/dist/pipeline-core/types.js.map +1 -1
  318. package/dist/pipeline-core/validate.js +160 -0
  319. package/dist/pipeline-core/validate.js.map +1 -1
  320. package/dist/revisium/run.service.js +24 -7
  321. package/dist/revisium/run.service.js.map +1 -1
  322. package/dist/run/create-run.js +5 -31
  323. package/dist/run/create-run.js.map +1 -1
  324. package/dist/run/inspect-run.js +2 -29
  325. package/dist/run/inspect-run.js.map +1 -1
  326. package/dist/run/run-outputs.js +88 -0
  327. package/dist/run/run-outputs.js.map +1 -0
  328. package/dist/run/terminal-run-status.js +7 -30
  329. package/dist/run/terminal-run-status.js.map +1 -1
  330. package/dist/runners/claude-code.service.js +1 -0
  331. package/dist/runners/claude-code.service.js.map +1 -1
  332. package/dist/runners/integrator.js +241 -5
  333. package/dist/runners/integrator.js.map +1 -1
  334. package/dist/runners/runner.module.js +3 -1
  335. package/dist/runners/runner.module.js.map +1 -1
  336. package/dist/runners/worktree.service.js +63 -0
  337. package/dist/runners/worktree.service.js.map +1 -0
  338. package/dist/task-control-plane/task-control-plane-api.service.js +293 -3
  339. package/dist/task-control-plane/task-control-plane-api.service.js.map +1 -1
  340. package/dist/task-control-plane/task-control-plane.module.js +1 -2
  341. package/dist/task-control-plane/task-control-plane.module.js.map +1 -1
  342. package/dist/worker/build-context.js +17 -0
  343. package/dist/worker/build-context.js.map +1 -1
  344. package/dist/worker/claude-code-runner.js +13 -15
  345. package/dist/worker/claude-code-runner.js.map +1 -1
  346. package/dist/worker/git-worktree-manager.js +148 -0
  347. package/dist/worker/git-worktree-manager.js.map +1 -0
  348. package/dist/worker/result-envelope.js +41 -1
  349. package/dist/worker/result-envelope.js.map +1 -1
  350. package/dist/worker/runner.js.map +1 -1
  351. package/package.json +15 -7
  352. package/dist/pipeline/develop-task.workflow.js.map +0 -1
  353. package/dist/worker/worktree-manager.js +0 -7
  354. package/dist/worker/worktree-manager.js.map +0 -1
@@ -29,6 +29,7 @@
29
29
  */
30
30
  import { step as coreStep, initialState, validateTemplate, InterpretError, } from '../pipeline-core/index.js';
31
31
  import { runnerNeedsLivePreflight, runnerUsesRealIntegrator } from './route-contract.js';
32
+ export const RUN_PROGRESS_EVENT_KEY = 'run-progress';
32
33
  const MAX_STEPS = 1_000; // a VALID template terminates; guards a data/loop authoring mistake at runtime.
33
34
  /**
34
35
  * Reserved engine error codes (matched only by a node's `catch`, §3/§6).
@@ -44,6 +45,20 @@ const MAX_STEPS = 1_000; // a VALID template terminates; guards a data/loop auth
44
45
  const REVO_SCRIPT_FAILED = 'revo.ScriptFailed';
45
46
  const REVO_SCRIPT_BLOCKED = 'revo.ScriptBlocked';
46
47
  const REVO_RESULT_INVALID = 'revo.ResultInvalid';
48
+ const REVO_INPUT_MISSING = 'revo.InputMissing';
49
+ /** Per-node execution stepKey: the bare nodeId on the first entry (stable ids for existing tests), an
50
+ * ordinal-suffixed key on loop re-entries so attempts/events/outputs are distinct per iteration (0016
51
+ * §4.1 — fixes the latent 0015 stepKey-reuse collision). */
52
+ function stepKeyFor(nodeId, ordinal) {
53
+ return ordinal <= 1 ? nodeId : `${nodeId}#${ordinal}`;
54
+ }
55
+ /** Next per-(run,node) execution ordinal (1-based). Deterministic on DBOS replay: the runBody loop
56
+ * re-runs identically (coreStep is pure, effects are memoized), so the accumulator is rebuilt 1:1. */
57
+ function nextOrdinal(byNode, nodeId) {
58
+ const n = (byNode.get(nodeId) ?? 0) + 1;
59
+ byNode.set(nodeId, n);
60
+ return n;
61
+ }
47
62
  function isRecord(value) {
48
63
  return value !== null && typeof value === 'object' && !Array.isArray(value);
49
64
  }
@@ -56,11 +71,33 @@ function isRecord(value) {
56
71
  * The value is lowercased to match the spec's domain vocabulary (`approved|blocker|clean|…`).
57
72
  */
58
73
  function domainVerdictOf(result) {
74
+ // Preferred: the explicit top-level `verdict` (REVO_RESULT contract — a prominent required field the
75
+ // agent reliably fills, unlike a prose `output`).
76
+ if (typeof result.verdict === 'string' && result.verdict.length > 0)
77
+ return normalizeDomainLabel(result.verdict);
59
78
  const output = result.output;
60
- const raw = isRecord(output) ? output.verdict : output;
61
- if (typeof raw !== 'string')
62
- return undefined;
63
- return normalizeDomainLabel(raw);
79
+ // Then a structured `output: { verdict: "<label>" }` (back-compat with the older convention).
80
+ if (isRecord(output) && typeof output.verdict === 'string')
81
+ return normalizeDomainLabel(output.verdict);
82
+ // Fallback: the agent returned a free-text/summary string. The prompt still requires a verdict token,
83
+ // so scan the text for the LAST known domain label as a whole word. Without this a prose-shaped output
84
+ // yields no routable verdict and a `choice` router falls to its default → blocked (the planReviewRouter
85
+ // exposed exactly this in the alpha.4 dogfood: "Plan approved: …" produced no `approved` for routing).
86
+ if (typeof output === 'string')
87
+ return scanVerdict(output);
88
+ return undefined;
89
+ }
90
+ /** Exact domain-verdict words a free-text output may carry (NOT the PASS/MINOR structural aliases — those
91
+ * would false-positive on prose like "tests passed"). */
92
+ const DOMAIN_VERDICT_WORDS = new Set(['APPROVED', 'CLEAN', 'CHANGES_REQUESTED', 'BLOCKER', 'DIRTY']);
93
+ /** Last known domain-verdict word in free text → its lowercase label. Total + deterministic. */
94
+ function scanVerdict(text) {
95
+ let found;
96
+ for (const token of text.split(/[^A-Za-z_]+/)) {
97
+ if (token && DOMAIN_VERDICT_WORDS.has(token.toUpperCase()))
98
+ found = token.toLowerCase();
99
+ }
100
+ return found;
64
101
  }
65
102
  /**
66
103
  * Normalize an agent's free-text verdict token to a domain label. The seeded test/agent vocabulary
@@ -113,6 +150,14 @@ function resultSatisfiesSchema(node, result) {
113
150
  return true;
114
151
  return Array.isArray(output);
115
152
  }
153
+ function progressCursor(state, lastResult) {
154
+ return {
155
+ activeNodeIds: [...state.activeNodeIds],
156
+ scopedCounters: { ...state.scopedCounters },
157
+ status: state.status,
158
+ ...(lastResult ? { lastResult } : {}),
159
+ };
160
+ }
116
161
  /**
117
162
  * Map an approve/reject human decision onto a DOMAIN verdict the template's gate `outcomes` can route.
118
163
  * The core never sees approve/reject — it routes on a domain label (§8). Approve → the first declared
@@ -126,9 +171,21 @@ function gateVerdict(decision, outcomes) {
126
171
  // reject: prefer a declared "rework/changes" outcome; else let the default branch route (blocked).
127
172
  return outcomes.length > 1 ? outcomes.at(-1) : undefined;
128
173
  }
129
- /** Stable gate topic from a node's reason (plan-review → 'plan', merge-review → 'merge', else 'plan'). */
174
+ /**
175
+ * Stable gate topic from a node's reason. The topic is the DBOS recv channel AND part of the gate
176
+ * inbox id (`runId|topic`), so DISTINCT gates in one pipeline MUST map to DISTINCT topics — otherwise
177
+ * a second gate's `recv` collides with the first's already-consumed message and the run hangs (plan
178
+ * 0018: the `review-question` gate would otherwise reuse the `plan` topic of the plan gate).
179
+ * merge-review → 'merge'
180
+ * review-question→ 'question'
181
+ * (anything else)→ 'plan' (the plan-review gate)
182
+ */
130
183
  function gateTopicFor(reason) {
131
- return /merge/i.test(reason) ? 'merge' : 'plan';
184
+ if (/merge/i.test(reason))
185
+ return 'merge';
186
+ if (/question/i.test(reason))
187
+ return 'question';
188
+ return 'plan';
132
189
  }
133
190
  /**
134
191
  * makeDataDrivenTask — DBOS-free factory for the dataDrivenTask async function (C1).
@@ -137,7 +194,57 @@ function gateTopicFor(reason) {
137
194
  * production and tests. Returns a plain async function with the workflow signature.
138
195
  */
139
196
  export function makeDataDrivenTask(runStepFn, deps) {
140
- const { appendEvent, awaitHuman, completeRun, failRun, blockRun, loadRunTaskContext, integrateFn, runStub, preflightFn } = deps;
197
+ const { appendEvent, appendRunOutput, awaitHuman, completeRun, failRun, blockRun, loadRunTaskContext, integrateFn, runStub, confirmMergeFn, runConfirmStub, pollPrFn, runPollStub, respondThreadsFn, runRespondStub, preflightFn, createWorktreeFn, releaseWorktreeFn } = deps;
198
+ /** Resolve a node's `consumes` from the workflow-local output accumulator — NOT live Revisium reads
199
+ * (0016 §6 / consensus M4: a live read on replay can see rows written past the replay point). */
200
+ function resolveConsumes(node, outputsByNode) {
201
+ const refs = 'consumes' in node ? (node.consumes ?? []) : [];
202
+ const inputs = {};
203
+ for (const ref of refs) {
204
+ const produced = outputsByNode.get(ref.node) ?? [];
205
+ const iteration = ref.iteration ?? 'latest';
206
+ let value;
207
+ let found;
208
+ if (iteration === 'all') {
209
+ value = produced.map((o) => o.payload);
210
+ found = produced.length > 0;
211
+ }
212
+ else if (iteration === 'latest') {
213
+ value = produced.length ? produced[produced.length - 1].payload : undefined;
214
+ found = produced.length > 0;
215
+ }
216
+ else {
217
+ const hit = produced.find((o) => o.ordinal === iteration);
218
+ value = hit?.payload;
219
+ found = hit !== undefined;
220
+ }
221
+ if (!found) {
222
+ if (ref.optional)
223
+ continue;
224
+ return { missing: `${ref.node} as ${ref.as}` };
225
+ }
226
+ inputs[ref.as] = value;
227
+ }
228
+ return { inputs };
229
+ }
230
+ /** Record a node's produced output to the workflow-local accumulator + Revisium (when `produces`). */
231
+ async function recordOutput(runId, node, ordinal, output, outputsByNode) {
232
+ if (!('produces' in node) || !node.produces)
233
+ return;
234
+ const row = {
235
+ runId,
236
+ nodeId: node.id,
237
+ ordinal,
238
+ name: node.produces.name,
239
+ schemaRef: ('resultSchema' in node && node.resultSchema) || '',
240
+ payload: output,
241
+ attemptId: stepKeyFor(node.id, ordinal),
242
+ };
243
+ const list = outputsByNode.get(node.id) ?? [];
244
+ list.push(row);
245
+ outputsByNode.set(node.id, list);
246
+ await appendRunOutput(row);
247
+ }
141
248
  return async function dataDrivenTaskImpl(runId, opts) {
142
249
  try {
143
250
  return await runBody(runId, opts);
@@ -170,12 +277,46 @@ export function makeDataDrivenTask(runStepFn, deps) {
170
277
  // engine's gate). A `needsHuman` preflight blocks the run (clean/base invariant unmet) and surfaces
171
278
  // the lesson — the run never enters the graph. This is an engine-level guard (infrastructure), not a
172
279
  // template node: it is cross-cutting and identical for every pinned pipeline (zero role-ids/shapes).
173
- if (route.roleBindings.some((b) => runnerNeedsLivePreflight(b.resolvedRunnerId))) {
280
+ const live = route.roleBindings.some((b) => runnerNeedsLivePreflight(b.resolvedRunnerId));
281
+ if (live) {
282
+ // Preflight runs against the BASE checkout (resolveTaskCwd), BEFORE the worktree exists — its
283
+ // fetch + clean/freshness checks protect the user's base repo. Ordering is load-bearing.
174
284
  const pf = await preflightFn(taskId, base);
175
285
  if ('needsHuman' in pf) {
176
286
  return await blockWithLesson(runId, taskId, 'preflight', pf.lesson, 0);
177
287
  }
178
288
  }
289
+ // Per-run worktree (plan 0017): create AFTER a passing preflight and BEFORE any live effect, so all
290
+ // repo-touching steps (developer/rework + integrator) resolve to the isolated worktree (keyed by
291
+ // runId) — never the shared base checkout. Skipped for non-live runs. The `finally` releases it at a
292
+ // SUCCEEDED terminal (the PR is merged via confirmMerge → branch is in base → worktree disposable) and
293
+ // on a throw (failure); it KEEPS the worktree on a `blocked` terminal (confirmMerge blocks when the PR
294
+ // isn't merged yet — the tree must survive for rework / a manual merge; reclaimed by cleanup_worktree
295
+ // + the host-start sweep). It does NOT run while parked at a gate (awaitHuman suspends the live
296
+ // workflow via `recv`, so runBody never returns there). Create is INSIDE the try so the release also
297
+ // cleans up a create that partially built the worktree before throwing (codex/CodeRabbit).
298
+ let result;
299
+ try {
300
+ if (live) {
301
+ await createWorktreeFn(runId, taskId, title, base);
302
+ }
303
+ result = await runGraph(runId, opts, taskId, title, base);
304
+ return result;
305
+ }
306
+ finally {
307
+ if (live && result?.status !== 'blocked') {
308
+ try {
309
+ await releaseWorktreeFn(runId, taskId);
310
+ }
311
+ catch (releaseErr) {
312
+ console.warn(`[data-driven] worktree release for ${runId} failed (orphan; pruned later): ${String(releaseErr)}`);
313
+ }
314
+ }
315
+ }
316
+ }
317
+ /** The pipeline-core interpretation loop, extracted so the worktree `finally` in runBody wraps it. */
318
+ async function runGraph(runId, opts, taskId, title, base) {
319
+ const { route, template } = opts;
179
320
  // Capability resolution map (GENERIC — no role-ids in the engine): roleRef/scriptRef → route binding.
180
321
  // The route's bindings are authoritative for runner dispatch (and durable on recovery via the DBOS
181
322
  // workflow input). A `role:<id>` handle resolves to the binding whose roleId matches `<id>`. A
@@ -196,14 +337,21 @@ export function makeDataDrivenTask(runStepFn, deps) {
196
337
  let lastResult;
197
338
  let lastVerdict = '';
198
339
  let stepCount = 0;
340
+ // Workflow-local dataflow state (0016 §4.1/§6): per-node execution ordinals + produced outputs.
341
+ // Both are rebuilt deterministically on DBOS replay (the loop re-runs identically); the adapter
342
+ // hydrates consumers from `outputsByNode`, never from a live Revisium read.
343
+ const effectOrdinalByNode = new Map();
344
+ const outputsByNode = new Map();
199
345
  for (let i = 0; i < MAX_STEPS; i++) {
200
346
  const { state: nextState, decision } = coreStep(template, state, lastResult);
201
347
  state = nextState;
348
+ await deps.setProgress?.(runId, progressCursor(state, lastResult));
202
349
  if (decision.type === 'complete') {
203
350
  return await finish(runId, decision.status, lastVerdict, stepCount);
204
351
  }
205
352
  const eff = await applyDecision(decision, {
206
353
  runId, template, bindingByRef, executionProfile, taskId, title, base,
354
+ effectOrdinalByNode, outputsByNode,
207
355
  });
208
356
  lastResult = eff.lastResult;
209
357
  if (eff.lastVerdict !== undefined)
@@ -222,10 +370,24 @@ export function makeDataDrivenTask(runStepFn, deps) {
222
370
  switch (decision.type) {
223
371
  case 'invokeRole': {
224
372
  const node = resolveNode(template, decision.nodeId);
225
- const result = await invokeRole(runId, decision, node, bindingByRef, executionProfile);
373
+ const ordinal = nextOrdinal(ctx.effectOrdinalByNode, node.id);
374
+ const stepKey = stepKeyFor(node.id, ordinal);
375
+ const resolved = resolveConsumes(node, ctx.outputsByNode);
376
+ if ('missing' in resolved) {
377
+ // A required upstream output is absent → fail-loud as a WIRING fault (0016 §6 / consensus M3):
378
+ // a dedicated step_failed names the missing (node, as), distinct from a domain `blocker`. The
379
+ // node's default onFailure='abort' then routes to a failed terminal (the run fails loud).
380
+ await appendEvent({
381
+ runId, taskId, stepId: '', stepKey, type: 'step_failed',
382
+ payload: { nodeId: node.id, error: `${REVO_INPUT_MISSING}: required input ${resolved.missing} was not produced` },
383
+ });
384
+ return { lastResult: { outcome: 'failed', errorCode: REVO_INPUT_MISSING }, lastVerdict: 'failed', stepDelta: 1 };
385
+ }
386
+ const result = await invokeRole(runId, decision, node, bindingByRef, executionProfile, resolved.inputs, stepKey);
226
387
  if (result.failed) {
227
388
  return { lastResult: { outcome: 'failed', errorCode: result.errorCode }, lastVerdict: 'failed', stepDelta: 1 };
228
389
  }
390
+ await recordOutput(runId, node, ordinal, result.output, ctx.outputsByNode);
229
391
  const verdict = result.verdict;
230
392
  return {
231
393
  lastResult: { outcome: 'succeeded', ...(verdict ? { verdict } : {}) },
@@ -234,7 +396,19 @@ export function makeDataDrivenTask(runStepFn, deps) {
234
396
  };
235
397
  }
236
398
  case 'invokeScript': {
237
- const scriptResult = await invokeScript(runId, decision, { taskId, title, base }, bindingByRef);
399
+ const node = resolveNode(template, decision.nodeId);
400
+ const ordinal = nextOrdinal(ctx.effectOrdinalByNode, node.id);
401
+ // A script node may `consumes` upstream data (plan 0018: respondThreads ← triage). Hydrate it
402
+ // from the workflow-local accumulator (same seam as agents), fail-loud on a missing required input.
403
+ const resolved = resolveConsumes(node, ctx.outputsByNode);
404
+ if ('missing' in resolved) {
405
+ await appendEvent({
406
+ runId, taskId, stepId: '', stepKey: stepKeyFor(node.id, ordinal), type: 'step_failed',
407
+ payload: { nodeId: node.id, error: `${REVO_INPUT_MISSING}: required input ${resolved.missing} was not produced` },
408
+ });
409
+ return { lastResult: { outcome: 'failed', errorCode: REVO_INPUT_MISSING }, lastVerdict: 'failed', stepDelta: 1 };
410
+ }
411
+ const scriptResult = await invokeScript(runId, decision, { taskId, title, base }, bindingByRef, stepKeyFor(node.id, ordinal), resolved.inputs);
238
412
  // A blocked script (needsHuman) routes via revo.ScriptBlocked → a `blocked` terminal; a thrown
239
413
  // script routes via revo.ScriptFailed → a `failed` terminal (§6 catch). The lesson-bearing
240
414
  // pipeline_blocked is emitted inside invokeScript for the block path (parity with the old engine).
@@ -244,11 +418,18 @@ export function makeDataDrivenTask(runStepFn, deps) {
244
418
  if (scriptResult.outcome === 'failed') {
245
419
  return { lastResult: { outcome: 'failed', errorCode: REVO_SCRIPT_FAILED }, lastVerdict: 'failed', stepDelta: 1 };
246
420
  }
247
- return { lastResult: { outcome: 'succeeded' }, stepDelta: 1 };
421
+ await recordOutput(runId, node, ordinal, scriptResult.pointer, ctx.outputsByNode);
422
+ // A classifying script (pollPr, plan 0018) surfaces a DOMAIN verdict so the next `choice` can
423
+ // route on it (§8). Scripts with a single fixed `next` (integrator/confirmMerge) carry none.
424
+ const sv = scriptResult.verdict;
425
+ return { lastResult: { outcome: 'succeeded', ...(sv ? { verdict: sv } : {}) }, ...(sv ? { lastVerdict: sv } : {}), stepDelta: 1 };
248
426
  }
249
427
  case 'awaitGate': {
250
428
  const topic = gateTopicFor(decision.reason);
251
- const human = await awaitHuman(runId, topic, `${decision.reason} approval`, {
429
+ // Per-entry gate key (nodeId#ordinal) so a re-entered gate (e.g. a question gate looped in the
430
+ // review phase) gets a DISTINCT inbox row instead of colliding on `runId|topic` (§3.2 audit).
431
+ const ordinal = nextOrdinal(ctx.effectOrdinalByNode, decision.nodeId);
432
+ const human = await awaitHuman(runId, topic, stepKeyFor(decision.nodeId, ordinal), `${decision.reason} approval`, {
252
433
  nodeId: decision.nodeId,
253
434
  outcomes: decision.outcomes,
254
435
  });
@@ -280,20 +461,23 @@ export function makeDataDrivenTask(runStepFn, deps) {
280
461
  }
281
462
  // ── Effect executors ─────────────────────────────────────────────────────────
282
463
  /** invokeRole → dispatch via the existing runStep DBOS step; validate result vs resultSchema. */
283
- async function invokeRole(runId, decision, node, bindingByRef, executionProfile) {
464
+ async function invokeRole(runId, decision, node, bindingByRef, executionProfile, inputs, stepKey) {
284
465
  const binding = bindingByRef.get(decision.roleRef);
285
466
  if (!binding) {
286
467
  // A VALID template's caps resolve at run start; an unresolved roleRef is a fatal config gap.
287
468
  throw new Error(`CAPABILITY_UNRESOLVED: roleRef ${decision.roleRef} has no route binding`);
288
469
  }
289
- // stepKey carries the nodeId so per-node attempts/events are distinct (and stable across replay).
290
- const result = await runStepFn(runId, binding.rowId, decision.nodeId, { nodeId: decision.nodeId }, binding.resolvedRunnerId, executionProfile);
470
+ // stepKey is ordinal-aware (0016 §4.1): distinct per loop iteration, stable across replay. The
471
+ // hydrated `inputs` (consumed upstream outputs) ride in stepInput the runner renders them as a
472
+ // `## Inputs (from previous steps)` prompt section (build-context).
473
+ const stepInput = Object.keys(inputs).length > 0 ? { nodeId: decision.nodeId, inputs } : { nodeId: decision.nodeId };
474
+ const result = await runStepFn(runId, binding.rowId, stepKey, stepInput, binding.resolvedRunnerId, executionProfile);
291
475
  // runStep converts a runner-process crash into a blocking attempt (needsHuman + verdict BLOCKER);
292
476
  // that is a domain failure of the node → route via §6 precedence as a result-invalid/failed effect.
293
477
  if (result.needsHuman || !resultSatisfiesSchema(node, result)) {
294
478
  return { failed: true, errorCode: REVO_RESULT_INVALID };
295
479
  }
296
- return { failed: false, verdict: domainVerdictOf(result) };
480
+ return { failed: false, verdict: domainVerdictOf(result), output: result.output };
297
481
  }
298
482
  /**
299
483
  * invokeScript → the built-in system SCRIPT library. The only built-in v1 script is the integrator
@@ -308,23 +492,38 @@ export function makeDataDrivenTask(runStepFn, deps) {
308
492
  * - `failed`: the integrator THREW (a gh/push error). `catch[revo.ScriptFailed]` routes to a `failed`
309
493
  * terminal; the run's top-level catch failRuns (the thrown reason is recorded, redacted).
310
494
  */
311
- async function invokeScript(runId, decision, ctx, bindingByRef) {
495
+ async function invokeScript(runId, decision, ctx, bindingByRef, stepKey, inputs) {
496
+ const isConfirmMerge = decision.scriptRef === 'script:confirmMerge';
497
+ const isPollPr = decision.scriptRef === 'script:pollPr';
498
+ const isRespondThreads = decision.scriptRef === 'script:respondThreads';
312
499
  const binding = bindingByRef.get(decision.scriptRef) ?? bindingByRef.get('script:integrator');
313
- const integratorInput = { runId, taskId: ctx.taskId, title: ctx.title, base: ctx.base };
500
+ // respondThreads consumes `triage` (plan 0018) ride the hydrated input on the integrator input so
501
+ // the live script can reply/resolve the triaged threads without a live Revisium read.
502
+ const integratorInput = { runId, taskId: ctx.taskId, title: ctx.title, base: ctx.base, ...(inputs.triage !== undefined ? { triage: inputs.triage } : {}) };
503
+ // A script node whose resolved runner mechanically performs the merge uses the REAL script;
504
+ // otherwise the pure stub (zero git/gh). Absent a binding (template-only script), default to stub.
505
+ const useReal = !!binding && runnerUsesRealIntegrator(binding.resolvedRunnerId);
314
506
  let result;
315
507
  try {
316
- // A script node whose resolved runner mechanically performs the merge uses the real integrator;
317
- // otherwise the pure stub (zero git/gh). Absent a binding (template-only script), default to stub.
318
- result = binding && runnerUsesRealIntegrator(binding.resolvedRunnerId)
319
- ? await integrateFn(integratorInput)
320
- : runStub(integratorInput);
508
+ if (isConfirmMerge) {
509
+ result = useReal ? await confirmMergeFn(integratorInput) : runConfirmStub(integratorInput);
510
+ }
511
+ else if (isPollPr) {
512
+ result = useReal ? await pollPrFn(integratorInput) : runPollStub(integratorInput);
513
+ }
514
+ else if (isRespondThreads) {
515
+ result = useReal ? await respondThreadsFn(integratorInput) : runRespondStub(integratorInput);
516
+ }
517
+ else {
518
+ result = useReal ? await integrateFn(integratorInput) : runStub(integratorInput);
519
+ }
321
520
  }
322
521
  catch (err) {
323
522
  await appendEvent({
324
523
  runId,
325
524
  taskId: ctx.taskId,
326
525
  stepId: '',
327
- stepKey: decision.nodeId,
526
+ stepKey,
328
527
  type: 'step_failed',
329
528
  payload: { scriptRef: decision.scriptRef, error: err instanceof Error ? err.message : String(err) },
330
529
  });
@@ -332,26 +531,66 @@ export function makeDataDrivenTask(runStepFn, deps) {
332
531
  }
333
532
  if ('needsHuman' in result) {
334
533
  // Surface the blocking reason as pipeline_blocked (the persist boundary redacts any token, D15) so
335
- // the human sees WHY the integrator could not proceed — exactly as the old engine's blockPipeline.
534
+ // the human sees WHY the script could not proceed — exactly as the old engine's blockPipeline.
535
+ const reason = isConfirmMerge ? 'confirm-merge' : isPollPr ? 'poll-pr' : isRespondThreads ? 'respond-threads' : 'integrate';
336
536
  await appendEvent({
337
537
  runId,
338
538
  taskId: ctx.taskId,
339
539
  stepId: '',
340
540
  stepKey: 'pipeline',
341
541
  type: 'pipeline_blocked',
342
- payload: { reason: 'integrate', lesson: result.lesson, nodeId: decision.nodeId },
542
+ payload: { reason, lesson: result.lesson, nodeId: decision.nodeId },
343
543
  });
344
544
  return { outcome: 'blocked' };
345
545
  }
546
+ if (isConfirmMerge) {
547
+ const merged = result;
548
+ await appendEvent({
549
+ runId,
550
+ taskId: ctx.taskId,
551
+ stepId: '',
552
+ stepKey,
553
+ type: 'merge_confirmed',
554
+ payload: { prNumber: merged.prNumber, prUrl: merged.prUrl },
555
+ });
556
+ return { outcome: 'ok', pointer: { merged: true, prNumber: merged.prNumber, prUrl: merged.prUrl } };
557
+ }
558
+ if (isPollPr) {
559
+ // pollPr CLASSIFIES the feedback: its verdict (review_changes/ci_changes/clean) routes the prRouter
560
+ // choice (§8 — a script may emit a domain verdict the routing data acts on, same as an agent).
561
+ const feedback = result;
562
+ await appendEvent({
563
+ runId,
564
+ taskId: ctx.taskId,
565
+ stepId: '',
566
+ stepKey,
567
+ type: 'pr_polled',
568
+ payload: { prNumber: feedback.prNumber, verdict: feedback.verdict, ciFailures: feedback.ciFailures.length, reviewThreads: feedback.reviewThreads.length },
569
+ });
570
+ return { outcome: 'ok', pointer: feedback, verdict: feedback.verdict };
571
+ }
572
+ if (isRespondThreads) {
573
+ const responded = result;
574
+ await appendEvent({
575
+ runId,
576
+ taskId: ctx.taskId,
577
+ stepId: '',
578
+ stepKey,
579
+ type: 'threads_responded',
580
+ payload: { replied: responded.replied, resolved: responded.resolved },
581
+ });
582
+ return { outcome: 'ok', pointer: responded };
583
+ }
584
+ const integrated = result;
346
585
  await appendEvent({
347
586
  runId,
348
587
  taskId: ctx.taskId,
349
588
  stepId: '',
350
- stepKey: decision.nodeId,
589
+ stepKey,
351
590
  type: 'integrate_succeeded',
352
- payload: { prUrl: result.prUrl, branch: result.branch, prNumber: result.prNumber },
591
+ payload: { prUrl: integrated.prUrl, branch: integrated.branch, prNumber: integrated.prNumber },
353
592
  });
354
- return { outcome: 'ok' };
593
+ return { outcome: 'ok', pointer: { prUrl: integrated.prUrl, branch: integrated.branch, prNumber: integrated.prNumber } };
355
594
  }
356
595
  /** Terminal: finish the run in Revisium per the core's terminal status. */
357
596
  async function finish(runId, status, verdict, steps) {
@@ -1 +1 @@
1
- {"version":3,"file":"data-driven-task.workflow.js","sourceRoot":"","sources":["../../src/pipeline/data-driven-task.workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-driven-task.workflow.js","sourceRoot":"","sources":["../../src/pipeline/data-driven-task.workflow.ts"],"names":[],"mappings":"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"}
@@ -26,9 +26,9 @@ function looksLikeTemplate(value) {
26
26
  * Extract a data-driven template from a pipeline's executionPolicy, if present + valid.
27
27
  *
28
28
  * Returns the validated `Template` when the pipeline carries a clean state-machine spec, else `null`
29
- * (→ the run takes the existing hardcoded `develop-task` path). A present-but-INVALID template throws,
30
- * so a broken data-driven pipeline fails loudly at run start rather than silently degrading to the
31
- * hardcoded engine (which would mask the authoring bug).
29
+ * (→ the caller fails loud with `PIPELINE_NOT_DATA_DRIVEN`; the data-driven engine is the sole engine, so
30
+ * there is no legacy fallback path). A present-but-INVALID template throws, so a broken data-driven pipeline
31
+ * fails loudly at run start rather than silently degrading (which would mask the authoring bug).
32
32
  */
33
33
  export function templateFromExecutionPolicy(executionPolicy) {
34
34
  if (!isRecord(executionPolicy))
@@ -8,7 +8,7 @@ import { Module } from '@nestjs/common';
8
8
  import { EngineModule } from '../engine/dbos.module.js';
9
9
  import { RevisiumModule } from '../revisium/revisium.module.js';
10
10
  import { RunnerModule } from '../runners/runner.module.js';
11
- import { PipelineService } from './develop-task.workflow.js';
11
+ import { PipelineService } from './pipeline.service.js';
12
12
  /**
13
13
  * PipelineModule — registers PipelineService, which registers the data-driven pipeline
14
14
  * workflow + runStep step + dev-tasks queue with DBOS in its constructor.
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.module.js","sourceRoot":"","sources":["../../src/pipeline/pipeline.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D;;;;;;;;;;;GAWG;AAMI,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,cAAc;IAL1B,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,YAAY,CAAC;QACrD,SAAS,EAAE,CAAC,eAAe,CAAC;QAC5B,OAAO,EAAE,CAAC,eAAe,CAAC;KAC3B,CAAC;GACW,cAAc,CAAG"}
1
+ {"version":3,"file":"pipeline.module.js","sourceRoot":"","sources":["../../src/pipeline/pipeline.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;;;;;;;GAWG;AAMI,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,cAAc;IAL1B,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,YAAY,CAAC;QACrD,SAAS,EAAE,CAAC,eAAe,CAAC;QAC5B,OAAO,EAAE,CAAC,eAAe,CAAC;KAC3B,CAAC;GACW,cAAc,CAAG"}