@revisium/orchestrator 0.1.0 → 0.2.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/README.md +78 -0
  2. package/control-plane/bootstrap.config.json +43 -1
  3. package/control-plane/default-playbook/catalog/pipelines.json +941 -3
  4. package/control-plane/default-playbook/catalog/roles.json +54 -0
  5. package/dist/api/graphql-api/graphql-ws/pubsub.module.js +0 -1
  6. package/dist/api/graphql-api/graphql-ws/pubsub.module.js.map +1 -1
  7. package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js +0 -1
  8. package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js.map +1 -1
  9. package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js +0 -1
  10. package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js.map +1 -1
  11. package/dist/api/graphql-api/pr/model/pr-readiness.model.js +0 -4
  12. package/dist/api/graphql-api/pr/model/pr-readiness.model.js.map +1 -1
  13. package/dist/cli/commands/doctor-report.js +0 -18
  14. package/dist/cli/commands/doctor-report.js.map +1 -1
  15. package/dist/cli/commands/lifecycle.js +3 -71
  16. package/dist/cli/commands/lifecycle.js.map +1 -1
  17. package/dist/cli/commands/mcp.js +0 -14
  18. package/dist/cli/commands/mcp.js.map +1 -1
  19. package/dist/cli/commands/process-tree.js +4 -26
  20. package/dist/cli/commands/process-tree.js.map +1 -1
  21. package/dist/cli/commands/revisium-helpers.js +0 -6
  22. package/dist/cli/commands/revisium-helpers.js.map +1 -1
  23. package/dist/cli/commands/rogue-reaper.js +0 -34
  24. package/dist/cli/commands/rogue-reaper.js.map +1 -1
  25. package/dist/cli/index.js +0 -4
  26. package/dist/cli/index.js.map +1 -1
  27. package/dist/cli/program.js +0 -5
  28. package/dist/cli/program.js.map +1 -1
  29. package/dist/config.js +0 -25
  30. package/dist/config.js.map +1 -1
  31. package/dist/control-plane/bootstrap.js +0 -28
  32. package/dist/control-plane/bootstrap.js.map +1 -1
  33. package/dist/control-plane/change-notifications.js +0 -1
  34. package/dist/control-plane/change-notifications.js.map +1 -1
  35. package/dist/control-plane/client-transport.js +0 -11
  36. package/dist/control-plane/client-transport.js.map +1 -1
  37. package/dist/control-plane/definitions.js +8 -17
  38. package/dist/control-plane/definitions.js.map +1 -1
  39. package/dist/control-plane/inbox.js +2 -120
  40. package/dist/control-plane/inbox.js.map +1 -1
  41. package/dist/control-plane/resolve-cwd.js +0 -61
  42. package/dist/control-plane/resolve-cwd.js.map +1 -1
  43. package/dist/control-plane/schema-migration.js +0 -9
  44. package/dist/control-plane/schema-migration.js.map +1 -1
  45. package/dist/control-plane/seed-default-playbook.js +5 -70
  46. package/dist/control-plane/seed-default-playbook.js.map +1 -1
  47. package/dist/control-plane/steps.js +0 -15
  48. package/dist/control-plane/steps.js.map +1 -1
  49. package/dist/e2e/kit/assertions.js +1 -1
  50. package/dist/e2e/kit/assertions.js.map +1 -1
  51. package/dist/engine/dbos.service.js +9 -179
  52. package/dist/engine/dbos.service.js.map +1 -1
  53. package/dist/engine/ensure-postgres.js +0 -48
  54. package/dist/engine/ensure-postgres.js.map +1 -1
  55. package/dist/host/daemon.js +2 -21
  56. package/dist/host/daemon.js.map +1 -1
  57. package/dist/host/dbos-identity.js +0 -31
  58. package/dist/host/dbos-identity.js.map +1 -1
  59. package/dist/host/ensure-host.js +1 -37
  60. package/dist/host/ensure-host.js.map +1 -1
  61. package/dist/host/ensure-revisium.js +1 -135
  62. package/dist/host/ensure-revisium.js.map +1 -1
  63. package/dist/host/host-runtime.js +0 -28
  64. package/dist/host/host-runtime.js.map +1 -1
  65. package/dist/host/host.lifecycle.js +0 -27
  66. package/dist/host/host.lifecycle.js.map +1 -1
  67. package/dist/host/queue-ownership.js +0 -42
  68. package/dist/host/queue-ownership.js.map +1 -1
  69. package/dist/host/queue-poller-census.js +1 -28
  70. package/dist/host/queue-poller-census.js.map +1 -1
  71. package/dist/http/graphql-host.module.js +0 -3
  72. package/dist/http/graphql-host.module.js.map +1 -1
  73. package/dist/mcp/mcp-capabilities.js +19 -14
  74. package/dist/mcp/mcp-capabilities.js.map +1 -1
  75. package/dist/mcp/mcp-facade.service.js +41 -23
  76. package/dist/mcp/mcp-facade.service.js.map +1 -1
  77. package/dist/mcp/mcp-http.service.js +0 -18
  78. package/dist/mcp/mcp-http.service.js.map +1 -1
  79. package/dist/mcp/mcp-tools.js +18 -40
  80. package/dist/mcp/mcp-tools.js.map +1 -1
  81. package/dist/observability/activity-signal.js +0 -4
  82. package/dist/observability/activity-signal.js.map +1 -1
  83. package/dist/observability/agent-activity-reporter.js +0 -4
  84. package/dist/observability/agent-activity-reporter.js.map +1 -1
  85. package/dist/pipeline/await-human.js +0 -40
  86. package/dist/pipeline/await-human.js.map +1 -1
  87. package/dist/pipeline/data-driven-task.workflow.js +106 -236
  88. package/dist/pipeline/data-driven-task.workflow.js.map +1 -1
  89. package/dist/pipeline/data-driven-template.js +0 -25
  90. package/dist/pipeline/data-driven-template.js.map +1 -1
  91. package/dist/pipeline/pipeline.module.js +0 -12
  92. package/dist/pipeline/pipeline.module.js.map +1 -1
  93. package/dist/pipeline/pipeline.service.js +10 -99
  94. package/dist/pipeline/pipeline.service.js.map +1 -1
  95. package/dist/pipeline-core/index.js +1 -13
  96. package/dist/pipeline-core/index.js.map +1 -1
  97. package/dist/pipeline-core/interpret.js +21 -94
  98. package/dist/pipeline-core/interpret.js.map +1 -1
  99. package/dist/pipeline-core/kit/assertions.js +0 -19
  100. package/dist/pipeline-core/kit/assertions.js.map +1 -1
  101. package/dist/pipeline-core/kit/builders.js +1 -21
  102. package/dist/pipeline-core/kit/builders.js.map +1 -1
  103. package/dist/pipeline-core/kit/drive.js +1 -31
  104. package/dist/pipeline-core/kit/drive.js.map +1 -1
  105. package/dist/pipeline-core/kit/fixtures.js +8 -82
  106. package/dist/pipeline-core/kit/fixtures.js.map +1 -1
  107. package/dist/pipeline-core/kit/index.js +0 -8
  108. package/dist/pipeline-core/kit/index.js.map +1 -1
  109. package/dist/pipeline-core/types.js +13 -52
  110. package/dist/pipeline-core/types.js.map +1 -1
  111. package/dist/pipeline-core/validate-capability.js +0 -3
  112. package/dist/pipeline-core/validate-capability.js.map +1 -1
  113. package/dist/pipeline-core/validate-conflicts.js +0 -9
  114. package/dist/pipeline-core/validate-conflicts.js.map +1 -1
  115. package/dist/pipeline-core/validate-dataflow.js +0 -17
  116. package/dist/pipeline-core/validate-dataflow.js.map +1 -1
  117. package/dist/pipeline-core/validate-diff.js +3 -36
  118. package/dist/pipeline-core/validate-diff.js.map +1 -1
  119. package/dist/pipeline-core/validate-edges.js +0 -6
  120. package/dist/pipeline-core/validate-edges.js.map +1 -1
  121. package/dist/pipeline-core/validate-graph.js +0 -11
  122. package/dist/pipeline-core/validate-graph.js.map +1 -1
  123. package/dist/pipeline-core/validate-loops.js +37 -44
  124. package/dist/pipeline-core/validate-loops.js.map +1 -1
  125. package/dist/pipeline-core/validate-parallel.js +9 -15
  126. package/dist/pipeline-core/validate-parallel.js.map +1 -1
  127. package/dist/pipeline-core/validate-sink.js +0 -7
  128. package/dist/pipeline-core/validate-sink.js.map +1 -1
  129. package/dist/pipeline-core/validate-topology.js +1 -20
  130. package/dist/pipeline-core/validate-topology.js.map +1 -1
  131. package/dist/pipeline-core/validate-verdict.js +52 -7
  132. package/dist/pipeline-core/validate-verdict.js.map +1 -1
  133. package/dist/pipeline-core/validate.js +5 -29
  134. package/dist/pipeline-core/validate.js.map +1 -1
  135. package/dist/playbook/catalog-loader.js +8 -3
  136. package/dist/playbook/catalog-loader.js.map +1 -1
  137. package/dist/playbook/import-mapper.js +1 -9
  138. package/dist/playbook/import-mapper.js.map +1 -1
  139. package/dist/poller/pr-readiness-core.js +0 -74
  140. package/dist/poller/pr-readiness-core.js.map +1 -1
  141. package/dist/revisium/inbox.service.js +0 -24
  142. package/dist/revisium/inbox.service.js.map +1 -1
  143. package/dist/revisium/playbooks.service.js +2 -4
  144. package/dist/revisium/playbooks.service.js.map +1 -1
  145. package/dist/revisium/revisium.module.js +0 -12
  146. package/dist/revisium/revisium.module.js.map +1 -1
  147. package/dist/revisium/roles.service.js +0 -6
  148. package/dist/revisium/roles.service.js.map +1 -1
  149. package/dist/revisium/run.service.js +1 -75
  150. package/dist/revisium/run.service.js.map +1 -1
  151. package/dist/revisium/tokens.js +0 -4
  152. package/dist/revisium/tokens.js.map +1 -1
  153. package/dist/run/append-event.js +0 -34
  154. package/dist/run/append-event.js.map +1 -1
  155. package/dist/run/block-run.js.map +1 -1
  156. package/dist/run/cancel-run.js +0 -33
  157. package/dist/run/cancel-run.js.map +1 -1
  158. package/dist/run/complete-run.js.map +1 -1
  159. package/dist/run/create-run.js +0 -7
  160. package/dist/run/create-run.js.map +1 -1
  161. package/dist/run/fail-run.js +0 -3
  162. package/dist/run/fail-run.js.map +1 -1
  163. package/dist/run/inspect-run.js +0 -26
  164. package/dist/run/inspect-run.js.map +1 -1
  165. package/dist/run/run-outputs.js +0 -19
  166. package/dist/run/run-outputs.js.map +1 -1
  167. package/dist/run/terminal-run-status.js +0 -12
  168. package/dist/run/terminal-run-status.js.map +1 -1
  169. package/dist/runners/claude-code.service.js +0 -11
  170. package/dist/runners/claude-code.service.js.map +1 -1
  171. package/dist/runners/codex.service.js +0 -9
  172. package/dist/runners/codex.service.js.map +1 -1
  173. package/dist/runners/gh-identity.js +0 -52
  174. package/dist/runners/gh-identity.js.map +1 -1
  175. package/dist/runners/integrator-branch-naming.js +3 -11
  176. package/dist/runners/integrator-branch-naming.js.map +1 -1
  177. package/dist/runners/integrator-git.js +0 -25
  178. package/dist/runners/integrator-git.js.map +1 -1
  179. package/dist/runners/integrator-remote.js +0 -2
  180. package/dist/runners/integrator-remote.js.map +1 -1
  181. package/dist/runners/integrator-types.js +0 -7
  182. package/dist/runners/integrator-types.js.map +1 -1
  183. package/dist/runners/integrator.js +3 -167
  184. package/dist/runners/integrator.js.map +1 -1
  185. package/dist/runners/runner.module.js +0 -6
  186. package/dist/runners/runner.module.js.map +1 -1
  187. package/dist/runners/tokens.js +0 -4
  188. package/dist/runners/tokens.js.map +1 -1
  189. package/dist/runners/worktree.service.js +1 -17
  190. package/dist/runners/worktree.service.js.map +1 -1
  191. package/dist/task-control-plane/run-watch.service.js +49 -173
  192. package/dist/task-control-plane/run-watch.service.js.map +1 -1
  193. package/dist/task-control-plane/task-control-plane-api.service.js +15 -17
  194. package/dist/task-control-plane/task-control-plane-api.service.js.map +1 -1
  195. package/dist/worker/build-context.js +0 -16
  196. package/dist/worker/build-context.js.map +1 -1
  197. package/dist/worker/claude-code-runner.js +9 -42
  198. package/dist/worker/claude-code-runner.js.map +1 -1
  199. package/dist/worker/codex-runner.js +88 -22
  200. package/dist/worker/codex-runner.js.map +1 -1
  201. package/dist/worker/git-worktree-manager.js +20 -67
  202. package/dist/worker/git-worktree-manager.js.map +1 -1
  203. package/dist/worker/process-executor.js +0 -12
  204. package/dist/worker/process-executor.js.map +1 -1
  205. package/dist/worker/result-envelope.js +33 -49
  206. package/dist/worker/result-envelope.js.map +1 -1
  207. package/dist/worker/runner-dispatch.js +0 -3
  208. package/dist/worker/runner-dispatch.js.map +1 -1
  209. package/dist/worker/runner.js.map +1 -1
  210. package/dist/worker/stub-runner.js +0 -7
  211. package/dist/worker/stub-runner.js.map +1 -1
  212. package/package.json +2 -2
@@ -10,21 +10,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
- /**
14
- * integrator.ts — deterministic, replay-safe code integrator.
15
- *
16
- * DBOS-SEALED: zero @dbos-inc imports. Registration happens in PipelineService ctor.
17
- *
18
- * Exposes:
19
- * - integrate(input, deps) — REAL integrator (live only); git/gh side effects; resumable.
20
- * - stubIntegrate(input) — STUB (script only); ZERO external effects; pure + deterministic.
21
- * - preflightLive(taskId, base, deps) — LIVE PREFLIGHT; clean check + base availability; one-shot.
22
- * - IntegratorService — @Injectable wrapper with bound arrow properties.
23
- *
24
- * The pure primitives (resolveExecutable, branchName, parseOwnerRepo) and shared types live in
25
- * sibling modules (integrator-git / -branch-naming / -remote / -types) and are re-exported here so
26
- * the public import path ('./integrator.js') is unchanged.
27
- */
28
13
  import { Inject, Injectable } from '@nestjs/common';
29
14
  import { execFileSync } from 'node:child_process';
30
15
  import { collectPrReadiness, fetchRequiredCheckNames, } from '../poller/pr-readiness-core.js';
@@ -34,8 +19,6 @@ import { resolveGhAccount, resolvePinnedGh } from './gh-identity.js';
34
19
  import { gitAbsPath, branchExists, countAhead } from './integrator-git.js';
35
20
  import { resolveOwnerRepo } from './integrator-remote.js';
36
21
  import { branchName } from './integrator-branch-naming.js';
37
- // Public-API re-exports — the implementations now live in focused sibling modules, but callers
38
- // (worktree.service, git-worktree-manager, the test kit) keep importing from './integrator.js'.
39
22
  export { resolveExecutable } from './integrator-git.js';
40
23
  export { branchName };
41
24
  export { parseOwnerRepo } from './integrator-remote.js';
@@ -100,9 +83,7 @@ function createPr(ownerRepo, branch, base, title, issueRef, execGh) {
100
83
  '--body',
101
84
  '',
102
85
  ]);
103
- // gh pr create prints the PR url on stdout
104
86
  const createdUrl = createOut.trim();
105
- // Fetch back number from the URL
106
87
  const viewRaw = execGh([
107
88
  'pr',
108
89
  'view',
@@ -117,8 +98,6 @@ function createPr(ownerRepo, branch, base, title, issueRef, execGh) {
117
98
  viewData = JSON.parse(viewRaw);
118
99
  }
119
100
  catch {
120
- // gh pr view returned non-JSON after create — cannot determine real PR url/number.
121
- // A live integrator must NEVER emit a stub:// url; surface as needsHuman for human review.
122
101
  return {
123
102
  needsHuman: true,
124
103
  lesson: `gh pr view returned non-JSON after create (url=${createdUrl || 'empty'}); ` +
@@ -139,23 +118,9 @@ function findOrCreatePr(ownerRepo, branch, base, title, issueRef, execGh) {
139
118
  function findExistingPrWithHead(ownerRepo, branch, base, execGh) {
140
119
  return matchingOpenPr(ownerRepo, branch, base, execGh, 'number,url,baseRefName,headRefOid');
141
120
  }
142
- // ─── Preflight (B5+B7) ────────────────────────────────────────────────────────
143
- /**
144
- * preflightLive — clean check + base availability, evaluated ONCE as a memoized DBOS step.
145
- * Only called on live runs; script/stub runs skip this entirely.
146
- *
147
- * 1. git fetch origin <base> (idempotent — the only mutation)
148
- * 2. git status --porcelain → non-empty → block (repo not clean)
149
- * 3. Verify origin/<base> resolves. Non-base caller branches are allowed because the run worktree
150
- * is cut from origin/<base>; the caller checkout is never switched or rebased.
151
- *
152
- * Returns { ok: true } when the caller repo is clean and origin/<base> is available.
153
- * Returns IntegratorBlocked on ANY failure — no throw, so DBOS does NOT retry.
154
- */
155
121
  export async function preflightLive(taskId, base, deps) {
156
122
  const { execGit, resolveTaskCwd } = deps;
157
123
  const cwd = await resolveTaskCwd(taskId);
158
- // 1. Fetch (only mutation; idempotent; ignore errors — fetch failure handled as mismatch)
159
124
  try {
160
125
  execGit(['fetch', 'origin', base], cwd);
161
126
  }
@@ -165,7 +130,6 @@ export async function preflightLive(taskId, base, deps) {
165
130
  lesson: `live preflight: git fetch origin ${base} failed — base branch may not exist on remote: ${String(err)}`,
166
131
  };
167
132
  }
168
- // 2. Clean check
169
133
  const porcelain = execGit(['status', '--porcelain'], cwd).trim();
170
134
  if (porcelain !== '') {
171
135
  const lineCount = porcelain.split('\n').length;
@@ -174,9 +138,6 @@ export async function preflightLive(taskId, base, deps) {
174
138
  lesson: `target repo ${cwd} is not clean (${lineCount} uncommitted change${lineCount === 1 ? '' : 's'}); commit/stash and retry --live`,
175
139
  };
176
140
  }
177
- // 3. Base availability. The isolated run worktree is created later from origin/<base>, so feature
178
- // branches in the caller checkout do not need to be based on the fresh base. The only caller-branch
179
- // policy we preserve here is fail-loud protection for local-only commits on the base branch itself.
180
141
  let headBranch;
181
142
  let headSha;
182
143
  let originSha;
@@ -198,7 +159,7 @@ export async function preflightLive(taskId, base, deps) {
198
159
  behind = true;
199
160
  }
200
161
  catch {
201
- behind = false; // not an ancestor → diverged (or unrelated)
162
+ behind = false;
202
163
  }
203
164
  if (!behind) {
204
165
  return {
@@ -211,11 +172,6 @@ export async function preflightLive(taskId, base, deps) {
211
172
  }
212
173
  return { ok: true };
213
174
  }
214
- // ─── STUB integrator (script only) ───────────────────────────────────────────
215
- /**
216
- * stubIntegrate — PURE, zero side effects; returns a placeholder result.
217
- * Used by `script` mode (default + --stub). Makes NO execGit/execGh calls.
218
- */
219
175
  export function stubIntegrate(input) {
220
176
  return {
221
177
  prUrl: 'stub://pr/placeholder',
@@ -258,50 +214,31 @@ function stagedDiffPresent(git, cwd) {
258
214
  return true;
259
215
  }
260
216
  }
261
- // ─── REAL integrator (live only) ─────────────────────────────────────────────
262
- /**
263
- * integrate — REAL integrator (live only).
264
- * Replay-safe: branch create-if-absent (no clobber); commit only if staged diff;
265
- * push + find-or-create PR even if commit already happened (ahead guard).
266
- */
267
217
  export async function integrate(input, deps) {
268
218
  if (input.change)
269
219
  return integrateProducedChange(input, deps, input.change);
270
220
  const { execGit: git, execGh: gh, resolveRunCwd } = deps;
271
- // Resolve the run's ISOLATED worktree (plan 0017) — it is already checked out on `branch`, so the
272
- // branchExists→switch path below is a no-op and the dirty-tree `switch -c origin/<base>` (which
273
- // failed when the base checkout carried prior-run changes) is never taken.
274
221
  const cwd = await resolveRunCwd(input.runId, input.taskId);
275
222
  const branch = branchName(input.taskId, input.title, input.issueRef);
276
- // 1. Derive owner/repo
277
223
  const ownerRepoResult = resolveOwnerRepo(git, cwd);
278
224
  if ('needsHuman' in ownerRepoResult)
279
225
  return ownerRepoResult;
280
226
  const { ownerRepo } = ownerRepoResult;
281
- // 2. Fetch base
282
227
  git(['fetch', 'origin', input.base], cwd);
283
- // 3. Branch create-if-absent; never clobber a prior commit
284
228
  if (branchExists(git, cwd, branch)) {
285
229
  git(['switch', branch], cwd);
286
230
  }
287
231
  else {
288
232
  git(['switch', '-c', branch, `origin/${input.base}`], cwd);
289
233
  }
290
- // 4. Stage all changes (safe: clean-repo precondition from preflight)
291
234
  git(['add', '-A'], cwd);
292
- // 5. Commit decision (B4 replay safety)
293
235
  if (stagedDiffPresent(git, cwd)) {
294
- // Commit — NO Co-Authored-By, NO summary footer (MEMORY)
295
236
  const commitMsg = commitMessage(input.title, input.issueRef, ownerRepo);
296
237
  git(['commit', '-m', commitMsg], cwd);
297
238
  }
298
239
  else {
299
- // No staged diff — check if branch is ahead of origin/<base>
300
240
  const ahead = countAhead(git, cwd, branch, input.base);
301
241
  if (ahead === 0) {
302
- // Probe the BASE checkout for uncommitted changes: if it is dirty the developer wrote OUTSIDE
303
- // the run's worktree (the slice-143 / #130 symptom). Only changes the diagnostic lesson; no
304
- // destructive action, so a rare mis-attribution is still a useful signal.
305
242
  let lesson = 'nothing to integrate — no staged changes and branch is not ahead of origin/' + input.base;
306
243
  try {
307
244
  const baseCwd = await deps.resolveTaskCwd(input.taskId);
@@ -314,15 +251,11 @@ export async function integrate(input, deps) {
314
251
  }
315
252
  }
316
253
  catch {
317
- // git error on the base — keep the generic lesson
318
254
  }
319
255
  return { needsHuman: true, lesson };
320
256
  }
321
- // Ahead but no staged diff → commit happened on a prior attempt; fall through to push
322
257
  }
323
- // 6. Push (idempotent — no force)
324
258
  git(['push', '-u', 'origin', branch], cwd);
325
- // 7. Find-or-create PR
326
259
  const prResult = findOrCreatePr(ownerRepo, branch, input.base, input.title, input.issueRef, gh);
327
260
  if ('needsHuman' in prResult)
328
261
  return prResult;
@@ -382,20 +315,6 @@ async function integrateProducedChange(input, deps, change) {
382
315
  status: 'pushed',
383
316
  };
384
317
  }
385
- /**
386
- * confirmMerge — REAL (live only). Ensures the run's PR is actually merged before the run reaches its
387
- * success terminal (so the worktree, released on `succeeded`, is cleaned only once the branch is in the
388
- * base — truly disposable). Idempotent + replay-safe:
389
- *
390
- * 1. `gh pr view` the run's branch. Already `merged` (a human merged it) → succeed.
391
- * 2. Not merged + OPEN + `mergeStateStatus === CLEAN` (CI green, no conflicts) + a fresh readiness head
392
- * → `gh pr merge --squash --delete-branch --match-head-commit <sha>`, then re-view to CONFIRM merged.
393
- * 3. Not mergeable (not OPEN, or not CLEAN — red CI / conflicts / blocked) → block (needsHuman), which
394
- * routes to a `blocked` terminal and KEEPS the worktree for rework.
395
- *
396
- * Merge method is `--squash` by default; node-level parameterization (method/policy) is a deferred
397
- * follow-up (run-time node params).
398
- */
399
318
  export async function confirmMerge(input, deps) {
400
319
  const { execGit: git, execGh: gh, resolveRunCwd } = deps;
401
320
  const cwd = await resolveRunCwd(input.runId, input.taskId);
@@ -419,8 +338,6 @@ export async function confirmMerge(input, deps) {
419
338
  if (pr.state !== 'OPEN') {
420
339
  return { needsHuman: true, lesson: `PR #${pr.number} is ${pr.state} (not OPEN) and not merged — resolve manually` };
421
340
  }
422
- // Only auto-merge a CLEAN PR (CI green, no conflicts). Other states (BLOCKED/DIRTY/UNSTABLE/BEHIND…)
423
- // require a human — block and keep the worktree for rework.
424
341
  if (pr.mergeStateStatus !== 'CLEAN') {
425
342
  return {
426
343
  needsHuman: true,
@@ -435,12 +352,9 @@ export async function confirmMerge(input, deps) {
435
352
  lesson: `PR #${pr.number} merge requires a fresh merge readiness headSha guard — re-run readiness before approving merge`,
436
353
  };
437
354
  }
438
- // The integrator opens the PR as a DRAFT (human review at the merge gate); `gh pr merge` refuses a
439
- // draft, so mark it ready first (the approved merge gate IS that review). Idempotent: a no-op once ready.
440
355
  if (pr.isDraft) {
441
356
  gh(['pr', 'ready', branch, '--repo', ownerRepo]);
442
357
  }
443
- // Merge (squash) — idempotent: a replay re-views first (step 1) and short-circuits on state MERGED.
444
358
  try {
445
359
  gh(['pr', 'merge', branch, '--repo', ownerRepo, '--squash', '--delete-branch', '--match-head-commit', expectedHeadSha]);
446
360
  }
@@ -457,17 +371,11 @@ export async function confirmMerge(input, deps) {
457
371
  return { merged: true, prNumber: after.number, prUrl: after.url, ...(input.issueRef ? { issueRef: input.issueRef } : {}) };
458
372
  return { needsHuman: true, lesson: `PR #${after.number} merge did not take effect (state=${after.state}) — verify manually` };
459
373
  }
460
- /** Default polling bounds — pr-readiness parity (20 polls × 30s), overridable via env so the e2e suite
461
- * doesn't real-sleep; also injectable (deps.maxPolls/pollIntervalMs) so unit tests run instantly. */
462
374
  function envInt(name, fallback) {
463
375
  const n = Number.parseInt(process.env[name] ?? '', 10);
464
376
  return Number.isFinite(n) && n > 0 ? n : fallback;
465
377
  }
466
378
  function defaultCollect(repo, branch, base, execGh, issueRef) {
467
- // pollPr classifies by CI checks + unresolved review THREADS only — it does not read the PR comment
468
- // feed, so suppress the `api repos/.../{reviews,comments}` calls (`includeComments: false`). Those
469
- // extra calls are pure overhead here and the review-thread query already carries the actionable
470
- // feedback the loop acts on.
471
379
  return collectPrReadiness({ repo, headBranch: branch, baseBranch: base, issueRef, includeReviewThreads: true, includeComments: false }, execGh).then((r) => ({
472
380
  pr: { number: r.pr.number, headSha: r.pr.headSha },
473
381
  checks: { pending: r.checks.pending, fail: r.checks.fail, list: r.checks.list },
@@ -485,10 +393,9 @@ function ciFailuresFrom(readiness) {
485
393
  }
486
394
  function readinessRequiresReview(readiness) {
487
395
  return readiness.readinessVerdict === 'needs_human'
488
- || readiness.readinessVerdict === 'needs_work'
489
396
  || readiness.nextAction === 'human_decision'
490
397
  || readiness.nextAction === 'reviewer_triage'
491
- || readiness.nextAction === 'developer_fix';
398
+ || (readiness.nextAction === 'developer_fix' && readiness.checks.fail.length === 0);
492
399
  }
493
400
  function readinessEvidence(readiness) {
494
401
  return [
@@ -496,19 +403,11 @@ function readinessEvidence(readiness) {
496
403
  readiness.nextAction ? `readiness nextAction=${readiness.nextAction}` : undefined,
497
404
  ].filter((item) => item !== undefined);
498
405
  }
499
- /**
500
- * pollPr — REAL (live only). Polls `collectPrReadiness` until CI is terminal (no pending checks) or a
501
- * timeout, then classifies the feedback by TYPE (plan 0018): unresolved review threads → review_changes;
502
- * else failing checks → ci_changes; else clean. A timeout with checks still pending → block (human).
503
- * Replay-safe at the DBOS-step boundary (memoized result), idempotent (read-only gh).
504
- */
505
406
  export async function pollPr(input, deps) {
506
407
  const { execGit: git, execGh: gh, resolveRunCwd } = deps;
507
408
  const collect = deps.collect ?? defaultCollect;
508
409
  const sleep = deps.sleep ?? defaultSleep;
509
410
  const requiredChecks = deps.requiredChecks ?? fetchRequiredCheckNames;
510
- // Read env at CALL time (not module load) so the e2e harness can shrink the poll budget regardless
511
- // of import order; prod default stays 20 × 30s.
512
411
  const maxPolls = deps.maxPolls ?? envInt('REVO_POLL_PR_MAX_POLLS', 20);
513
412
  const intervalMs = deps.pollIntervalMs ?? envInt('REVO_POLL_PR_INTERVAL_MS', 30_000);
514
413
  const cwd = await resolveRunCwd(input.runId, input.taskId);
@@ -520,7 +419,6 @@ export async function pollPr(input, deps) {
520
419
  let readiness;
521
420
  for (let i = 0; i < maxPolls; i++) {
522
421
  readiness = await collect(ownerRepo, branch, input.base, gh, input.issueRef);
523
- // Terminal once nothing is pending and at least one check has registered (matches pr-readiness).
524
422
  if (readiness.checks.pending.length === 0 && readiness.checks.list.length > 0)
525
423
  break;
526
424
  readiness = undefined;
@@ -533,22 +431,13 @@ export async function pollPr(input, deps) {
533
431
  lesson: `pollPr timed out after ${maxPolls} polls — CI checks still pending or none registered for ${branch}`,
534
432
  };
535
433
  }
536
- // `settled` is the CI-terminal readiness (defined past the guard); the review-grace loop may refresh it.
537
434
  let settled = readiness;
538
435
  const initialCiFailures = ciFailuresFrom(settled);
539
- // CI green → flip the PR draft→ready so CodeRabbit / human reviewers actually engage. They SKIP
540
- // draft PRs, which silently bypassed the entire review loop (the PR was readied only at confirmMerge,
541
- // i.e. after the merge gate) — slice 142. Then wait a BOUNDED grace for review threads to surface
542
- // before declaring clean, so we don't merge-gate a millisecond before CodeRabbit posts. We never
543
- // BLOCK on a review arriving: the human merge gate is the backstop, so an absent / rate-limited
544
- // reviewer falls through to it rather than deadlocking the run. CI-red stays draft (don't request
545
- // review of broken code) and routes to ci_changes for a fix first.
546
436
  if (initialCiFailures.length === 0) {
547
437
  try {
548
438
  gh(['pr', 'ready', branch, '--repo', ownerRepo]);
549
439
  }
550
440
  catch {
551
- // already ready / nothing to ready — idempotent best-effort
552
441
  }
553
442
  const reviewGracePolls = deps.reviewGracePolls ?? envInt('REVO_POLL_PR_REVIEW_GRACE_POLLS', 4);
554
443
  for (let i = 0; i < reviewGracePolls && settled.reviewThreads.items.length === 0; i++) {
@@ -574,13 +463,6 @@ export async function pollPr(input, deps) {
574
463
  body: t.body,
575
464
  }));
576
465
  const ciFailures = ciFailuresFrom(settled);
577
- // Only REQUIRED-check failures drive the `ci_changes` verdict (PR #135 fix): on this repo only
578
- // "Verify"/"E2E"/"Required checks" gate the merge — Sonar/CodeRabbit are advisory, and a failing
579
- // advisory check used to wrongly trigger a pointless ciRework loop. `gh pr view` does not carry
580
- // isRequired, so we ask GitHub directly. ciFailures keeps the FULL failing list for downstream
581
- // context; the verdict keys off the required-only subset.
582
- // FAIL-SAFE: if the required set can't be determined (gh error or empty), fall back to counting
583
- // ALL failures (current behavior) — never silently treat an unknown required-set as clean.
584
466
  let ciVerdictFailures = ciFailures;
585
467
  if (ciFailures.length > 0 && settled.pr.number !== null) {
586
468
  try {
@@ -589,10 +471,8 @@ export async function pollPr(input, deps) {
589
471
  ciVerdictFailures = ciFailures.filter((f) => required.has(f.name));
590
472
  }
591
473
  catch {
592
- // gh failed → keep the full failing list (fail-safe: unknown required-set ≠ clean).
593
474
  }
594
475
  }
595
- // Decision order (plan 0018): review threads first, then CI (required-only), else clean.
596
476
  const verdict = reviewThreads.length > 0 || readinessRequiresReview(settled)
597
477
  ? 'review_changes'
598
478
  : ciVerdictFailures.length > 0 ? 'ci_changes' : 'clean';
@@ -607,8 +487,6 @@ export async function pollPr(input, deps) {
607
487
  };
608
488
  }
609
489
  const TRIAGE_DECISIONS = new Set(['fix', 'wontfix', 'question']);
610
- /** Coerce the analyst's (LLM-produced, untrusted-shape) triage output to a Triage, dropping malformed
611
- * items so respondThreads never throws on a null/garbled entry (CodeRabbit). */
612
490
  export function asTriage(value) {
613
491
  if (value === null || typeof value !== 'object')
614
492
  return { items: [] };
@@ -621,20 +499,13 @@ export function asTriage(value) {
621
499
  : [];
622
500
  return { items };
623
501
  }
624
- /**
625
- * respondThreads — REAL (live only). For each triaged thread we acted on (decision fix OR wontfix —
626
- * plan 0018 decision #2), reply in the thread then resolve it, via the gh-pinned GraphQL API
627
- * (`addPullRequestReviewThreadReply` then `resolveReviewThread`). Question items are skipped (they go to
628
- * the question gate, not auto-resolved). Idempotent: resolving an already-resolved thread is a no-op for
629
- * the loop (a reopened/new comment is caught by the next pollPr).
630
- */
631
502
  export async function respondThreads(triage, deps) {
632
503
  const { execGh: gh } = deps;
633
504
  let replied = 0;
634
505
  let resolved = 0;
635
506
  for (const item of triage.items) {
636
507
  if (item.decision !== 'fix' && item.decision !== 'wontfix')
637
- continue; // skip questions
508
+ continue;
638
509
  const body = item.replyText ?? (item.decision === 'wontfix' ? 'Acknowledged; not changing.' : 'Addressed.');
639
510
  gh([
640
511
  'api', 'graphql',
@@ -652,37 +523,20 @@ export async function respondThreads(triage, deps) {
652
523
  }
653
524
  return { replied, resolved };
654
525
  }
655
- // ─── IntegratorService ─────────────────────────────────────────────────────────
656
- /** Default execGit implementation wrapping execFileSync with a resolved absolute path. */
657
526
  function defaultExecGit(args, cwd) {
658
527
  return execFileSync(gitAbsPath(), args, { encoding: 'utf8', cwd, timeout: 60_000 });
659
528
  }
660
- /**
661
- * IntegratorService — @Injectable wrapper over integrate / stubIntegrate / preflightLive.
662
- * Exposes bound arrow properties so they survive being passed to registerStep unbound.
663
- * DBOS-SEALED: zero @dbos-inc imports; PipelineService registers these as steps.
664
- */
665
529
  let IntegratorService = class IntegratorService {
666
530
  runService;
667
531
  deps;
668
532
  constructor(runService) {
669
533
  this.runService = runService;
670
- // execGh is resolved per-run inside runIntegrate (fail-loud on an unresolved pinned identity),
671
- // so it is NOT built here — only the git + cwd deps are stable at construction.
672
534
  this.deps = {
673
535
  execGit: defaultExecGit,
674
536
  resolveTaskCwd: this.runService.makeResolveTaskCwd(),
675
537
  resolveRunCwd: this.runService.makeResolveRunCwd(),
676
538
  };
677
539
  }
678
- /**
679
- * Real integrator — live path. Arrow property: safe to pass unbound to registerStep.
680
- *
681
- * 0008 #1 (fail-loud, 2026-06-12 dogfood): resolve the PINNED gh identity first. If its token
682
- * cannot be resolved we REFUSE to fall back to the ambient gh account (which would open the PR
683
- * as the wrong user) and block as needsHuman instead. Only on success do we run the integrator
684
- * with the pinned execGh.
685
- */
686
540
  runIntegrate = (input) => {
687
541
  const pinned = resolvePinnedGh();
688
542
  if ('needsHuman' in pinned) {
@@ -692,14 +546,9 @@ let IntegratorService = class IntegratorService {
692
546
  console.log(`[integrator] gh pinned to account '${resolveGhAccount()}' (GH_TOKEN, not ambient)`);
693
547
  return integrate(input, { ...this.deps, execGh: pinned.execGh });
694
548
  };
695
- /** Stub integrator — script path; zero external effects. */
696
549
  runStub = (input) => {
697
550
  return stubIntegrate(input);
698
551
  };
699
- /**
700
- * Real confirm-merge — live path. Same fail-loud pinned-gh handling as runIntegrate: refuse the
701
- * ambient account, block if the pinned identity cannot be resolved.
702
- */
703
552
  runConfirmMerge = (input) => {
704
553
  const pinned = resolvePinnedGh();
705
554
  if ('needsHuman' in pinned) {
@@ -708,22 +557,15 @@ let IntegratorService = class IntegratorService {
708
557
  }
709
558
  return confirmMerge(input, { ...this.deps, execGh: pinned.execGh });
710
559
  };
711
- /** Stub confirm-merge — script path; zero external effects (treats the stub PR as merged). */
712
560
  runConfirmStub = (input) => {
713
561
  return { merged: true, prNumber: 0, prUrl: `stub://pr/${input.taskId}/merged` };
714
562
  };
715
- /** Live preflight — clean check + base invariant. Arrow property for safe unbound registration. */
716
563
  runPreflight = (taskId, base) => {
717
564
  return preflightLive(taskId, base, this.deps);
718
565
  };
719
- /** Capture a change-producing developer step as a git head artifact before reviewer/integrator handoff. */
720
566
  runCaptureProducedChange = (input) => {
721
567
  return captureProducedChange(input, this.deps);
722
568
  };
723
- /**
724
- * Real pollPr — live path. Same fail-loud pinned-gh handling as runIntegrate (the review/CI poll reads
725
- * the PR via the pinned account, never the ambient one). Blocks if the pinned identity is unresolved.
726
- */
727
569
  runPollPr = (input) => {
728
570
  const pinned = resolvePinnedGh();
729
571
  if ('needsHuman' in pinned) {
@@ -732,14 +574,9 @@ let IntegratorService = class IntegratorService {
732
574
  }
733
575
  return pollPr(input, { ...this.deps, execGh: pinned.execGh });
734
576
  };
735
- /** Stub pollPr — script path; zero external effects (reports a clean PR so the loop converges to merge). */
736
577
  runPollStub = (_input) => {
737
578
  return { prNumber: null, headSha: 'stub', evidence: ['stub pollPr readiness: clean'], verdict: 'clean', ciFailures: [], reviewThreads: [] };
738
579
  };
739
- /**
740
- * Real respondThreads — live path. Same fail-loud pinned-gh handling: refuse the ambient account.
741
- * The consumed `triage` rides in IntegratorInput.triage (hydrated by the adapter from run_outputs).
742
- */
743
580
  runRespondThreads = (input) => {
744
581
  const pinned = resolvePinnedGh();
745
582
  if ('needsHuman' in pinned) {
@@ -748,7 +585,6 @@ let IntegratorService = class IntegratorService {
748
585
  }
749
586
  return respondThreads(asTriage(input.triage), { execGh: pinned.execGh });
750
587
  };
751
- /** Stub respondThreads — script path; zero external effects (no threads to reply/resolve). */
752
588
  runRespondStub = (_input) => {
753
589
  return { replied: 0, resolved: 0 };
754
590
  };
@@ -1 +1 @@
1
- {"version":3,"file":"integrator.js","sourceRoot":"","sources":["../../src/runners/integrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integrator.js","sourceRoot":"","sources":["../../src/runners/integrator.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- /**
8
- * RunnerModule — provides RUN_AGENT and IntegratorService.
9
- *
10
- * Default PROCESS_EXECUTOR = spawnExecutor (real). Tests override with a fake.
11
- * DBOS-SEALED: zero @dbos-inc imports.
12
- */
13
7
  import { Module } from '@nestjs/common';
14
8
  import { RevisiumModule } from '../revisium/revisium.module.js';
15
9
  import { ClaudeCodeService } from './claude-code.service.js';
@@ -1 +1 @@
1
- {"version":3,"file":"runner.module.js","sourceRoot":"","sources":["../../src/runners/runner.module.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;GAKG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAmBvD,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,YAAY;IAjBxB,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,cAAc,CAAC;QACzB,SAAS,EAAE;YACT,iBAAiB;YACjB,YAAY;YACZ,iBAAiB;YACjB,eAAe;YACf,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE;YACtD;gBACE,OAAO,EAAE,SAAS;gBAClB,UAAU,EAAE,CAAC,EAAqB,EAAE,KAAmB,EAAE,EAAE,CACzD,cAAc,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;gBAChF,MAAM,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;aAC1C;SACF;QACD,OAAO,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,eAAe,CAAC;KACzD,CAAC;GACW,YAAY,CAAG"}
1
+ {"version":3,"file":"runner.module.js","sourceRoot":"","sources":["../../src/runners/runner.module.ts"],"names":[],"mappings":";;;;;;AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAmBvD,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,YAAY;IAjBxB,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,cAAc,CAAC;QACzB,SAAS,EAAE;YACT,iBAAiB;YACjB,YAAY;YACZ,iBAAiB;YACjB,eAAe;YACf,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE;YACtD;gBACE,OAAO,EAAE,SAAS;gBAClB,UAAU,EAAE,CAAC,EAAqB,EAAE,KAAmB,EAAE,EAAE,CACzD,cAAc,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;gBAChF,MAAM,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;aAC1C;SACF;QACD,OAAO,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,eAAe,CAAC;KACzD,CAAC;GACW,YAAY,CAAG"}
@@ -1,7 +1,3 @@
1
- /**
2
- * Injection tokens for RunnerModule providers.
3
- * Mirrors src/revisium/tokens.ts naming pattern.
4
- */
5
1
  export const RUN_AGENT = Symbol('RUN_AGENT');
6
2
  export const PROCESS_EXECUTOR = Symbol('PROCESS_EXECUTOR');
7
3
  //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/runners/tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/runners/tokens.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC"}
@@ -10,18 +10,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
- /**
14
- * worktree.service.ts — @Injectable wrapper over the per-run git worktree manager (plan 0017).
15
- *
16
- * DBOS-SEALED: zero @dbos-inc imports. PipelineService registers `ensure`/`release` as memoized DBOS
17
- * steps and wires them into the data-driven adapter's run lifecycle (create after live preflight,
18
- * release at terminal via the workflow `finally`).
19
- *
20
- * Resolves the BASE target-repo checkout (where `git worktree add/remove` run) and the feature branch
21
- * (the SAME `branchName` the integrator commits/pushes on) so the worktree is created already on that
22
- * branch — making the integrator's branchExists→switch path a no-op and avoiding its dirty-tree
23
- * `switch -c origin/<base>` failure.
24
- */
25
13
  import { Inject, Injectable } from '@nestjs/common';
26
14
  import { RunService } from '../revisium/run.service.js';
27
15
  import { getConfig } from '../config.js';
@@ -34,24 +22,20 @@ let WorktreeService = class WorktreeService {
34
22
  this.runService = runService;
35
23
  this.resolveBaseCwd = this.runService.makeResolveTaskCwd();
36
24
  }
37
- /** Create-if-absent the run's isolated worktree. Arrow property: safe to pass unbound to registerStep. */
38
25
  ensure = async (runId, taskId, title, base, issueRef) => {
39
26
  const baseRepoCwd = await this.resolveBaseCwd(taskId);
40
27
  const branch = branchName(taskId, title, issueRef);
41
28
  return createRunWorktree({ runId, baseRepoCwd, base, branch, dataDir: getConfig().dataDir });
42
29
  };
43
- /** Release the run's worktree (best-effort, idempotent). Arrow property for safe unbound registration. */
44
30
  release = async (runId, taskId) => {
45
31
  let baseRepoCwd;
46
32
  try {
47
33
  baseRepoCwd = await this.resolveBaseCwd(taskId);
48
34
  }
49
35
  catch {
50
- // Task/repo no longer resolvable — nothing to remove from; the worktree dir (if any) is orphaned
51
- // and will be swept by `git worktree prune` on a later run against the same base repo.
52
36
  return;
53
37
  }
54
- releaseRunWorktree({ runId, baseRepoCwd, dataDir: getConfig().dataDir });
38
+ void releaseRunWorktree({ runId, baseRepoCwd, dataDir: getConfig().dataDir });
55
39
  };
56
40
  };
57
41
  WorktreeService = __decorate([