@coralai/sps-cli 0.20.0 → 0.21.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 (56) hide show
  1. package/README.md +9 -8
  2. package/dist/commands/pipelineTick.d.ts.map +1 -1
  3. package/dist/commands/pipelineTick.js +3 -2
  4. package/dist/commands/pipelineTick.js.map +1 -1
  5. package/dist/commands/status.d.ts.map +1 -1
  6. package/dist/commands/status.js +22 -7
  7. package/dist/commands/status.js.map +1 -1
  8. package/dist/commands/tick.d.ts.map +1 -1
  9. package/dist/commands/tick.js +4 -3
  10. package/dist/commands/tick.js.map +1 -1
  11. package/dist/commands/workerDashboard.d.ts.map +1 -1
  12. package/dist/commands/workerDashboard.js +28 -8
  13. package/dist/commands/workerDashboard.js.map +1 -1
  14. package/dist/commands/workerLaunch.d.ts.map +1 -1
  15. package/dist/commands/workerLaunch.js +3 -2
  16. package/dist/commands/workerLaunch.js.map +1 -1
  17. package/dist/core/state.d.ts +13 -1
  18. package/dist/core/state.d.ts.map +1 -1
  19. package/dist/core/state.js +11 -0
  20. package/dist/core/state.js.map +1 -1
  21. package/dist/engines/CloseoutEngine.d.ts.map +1 -1
  22. package/dist/engines/CloseoutEngine.js +6 -0
  23. package/dist/engines/CloseoutEngine.js.map +1 -1
  24. package/dist/engines/ExecutionEngine.d.ts +9 -1
  25. package/dist/engines/ExecutionEngine.d.ts.map +1 -1
  26. package/dist/engines/ExecutionEngine.js +197 -29
  27. package/dist/engines/ExecutionEngine.js.map +1 -1
  28. package/dist/engines/MonitorEngine.d.ts +1 -0
  29. package/dist/engines/MonitorEngine.d.ts.map +1 -1
  30. package/dist/engines/MonitorEngine.js +34 -0
  31. package/dist/engines/MonitorEngine.js.map +1 -1
  32. package/dist/interfaces/AgentRuntime.d.ts +2 -2
  33. package/dist/interfaces/AgentRuntime.d.ts.map +1 -1
  34. package/dist/manager/post-actions.d.ts.map +1 -1
  35. package/dist/manager/post-actions.js +4 -2
  36. package/dist/manager/post-actions.js.map +1 -1
  37. package/dist/manager/recovery.d.ts +4 -0
  38. package/dist/manager/recovery.d.ts.map +1 -1
  39. package/dist/manager/recovery.js +121 -0
  40. package/dist/manager/recovery.js.map +1 -1
  41. package/dist/manager/supervisor.d.ts +13 -3
  42. package/dist/manager/supervisor.d.ts.map +1 -1
  43. package/dist/manager/supervisor.js +51 -2
  44. package/dist/manager/supervisor.js.map +1 -1
  45. package/dist/providers/ACPWorkerRuntime.d.ts +2 -2
  46. package/dist/providers/ACPWorkerRuntime.d.ts.map +1 -1
  47. package/dist/providers/ACPWorkerRuntime.js +9 -7
  48. package/dist/providers/ACPWorkerRuntime.js.map +1 -1
  49. package/dist/providers/adapters/CodexACPAdapter.d.ts.map +1 -1
  50. package/dist/providers/adapters/CodexACPAdapter.js +12 -6
  51. package/dist/providers/adapters/CodexACPAdapter.js.map +1 -1
  52. package/dist/providers/registry.d.ts +3 -0
  53. package/dist/providers/registry.d.ts.map +1 -1
  54. package/dist/providers/registry.js +4 -0
  55. package/dist/providers/registry.js.map +1 -1
  56. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CloseoutEngine.d.ts","sourceRoot":"","sources":["../../src/engines/CloseoutEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAyC,MAAM,oBAAoB,CAAC;AAK/F;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc;IAIvB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,QAAQ,CAAC;IAPnB,OAAO,CAAC,GAAG,CAAS;gBAGV,GAAG,EAAE,cAAc,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,QAAQ,CAAC,EAAE,QAAQ,YAAA;IAKvB,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC;YAoEtB,aAAa;YAwEb,aAAa;YAqHb,eAAe;YA8Gf,YAAY;IAyC1B;;;;;;;;;;OAUG;YACW,cAAc;IA+H5B;;;;;OAKG;YACW,eAAe;IAiH7B;;;;;OAKG;YACW,gBAAgB;IA4C9B,OAAO,CAAC,eAAe;YAST,YAAY;YAMZ,YAAY;YASZ,WAAW;YASX,UAAU;IAYxB,OAAO,CAAC,QAAQ;CAcjB"}
1
+ {"version":3,"file":"CloseoutEngine.d.ts","sourceRoot":"","sources":["../../src/engines/CloseoutEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAyC,MAAM,oBAAoB,CAAC;AAK/F;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc;IAIvB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,QAAQ,CAAC;IAPnB,OAAO,CAAC,GAAG,CAAS;gBAGV,GAAG,EAAE,cAAc,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,QAAQ,CAAC,EAAE,QAAQ,YAAA;IAKvB,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC;YAoEtB,aAAa;YAwEb,aAAa;YAqHb,eAAe;YA8Gf,YAAY;IAyC1B;;;;;;;;;;OAUG;YACW,cAAc;IAqI5B;;;;;OAKG;YACW,eAAe;IAiH7B;;;;;OAKG;YACW,gBAAgB;IA4C9B,OAAO,CAAC,eAAe;YAST,YAAY;YAMZ,YAAY;YASZ,WAAW;YASX,UAAU;IAYxB,OAAO,CAAC,QAAQ;CAcjB"}
@@ -433,7 +433,13 @@ export class CloseoutEngine {
433
433
  claimedAt: null,
434
434
  lastHeartbeat: null,
435
435
  mode: null,
436
+ transport: null,
437
+ agent: null,
436
438
  sessionId: null,
439
+ runId: null,
440
+ sessionState: null,
441
+ remoteStatus: null,
442
+ lastEventAt: null,
437
443
  pid: null,
438
444
  outputFile: null,
439
445
  exitCode: null,
@@ -1 +1 @@
1
- {"version":3,"file":"CloseoutEngine.js","sourceRoot":"","sources":["../../src/engines/CloseoutEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CloseoutEngine.js","sourceRoot":"","sources":["../../src/engines/CloseoutEngine.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { ProjectContext } from '../core/context.js';
2
2
  import type { TaskBackend } from '../interfaces/TaskBackend.js';
3
3
  import type { RepoBackend } from '../interfaces/RepoBackend.js';
4
4
  import type { Notifier } from '../interfaces/Notifier.js';
5
+ import type { AgentRuntime } from '../interfaces/AgentRuntime.js';
5
6
  import type { CommandResult } from '../models/types.js';
6
7
  import { ProcessSupervisor } from '../manager/supervisor.js';
7
8
  import { CompletionJudge } from '../manager/completion-judge.js';
@@ -16,8 +17,9 @@ export declare class ExecutionEngine {
16
17
  private postActions;
17
18
  private resourceLimiter;
18
19
  private notifier?;
20
+ private agentRuntime?;
19
21
  private log;
20
- constructor(ctx: ProjectContext, taskBackend: TaskBackend, repoBackend: RepoBackend, supervisor: ProcessSupervisor, completionJudge: CompletionJudge, postActions: PostActions, resourceLimiter: ResourceLimiter, notifier?: Notifier | undefined);
22
+ constructor(ctx: ProjectContext, taskBackend: TaskBackend, repoBackend: RepoBackend, supervisor: ProcessSupervisor, completionJudge: CompletionJudge, postActions: PostActions, resourceLimiter: ResourceLimiter, notifier?: Notifier | undefined, agentRuntime?: (AgentRuntime | null) | undefined);
21
23
  tick(opts?: {
22
24
  dryRun?: boolean;
23
25
  }): Promise<CommandResult>;
@@ -59,6 +61,12 @@ export declare class ExecutionEngine {
59
61
  * Wires CompletionJudge → PostActions to handle completion or failure.
60
62
  */
61
63
  private onWorkerExit;
64
+ private checkAcpInprogressCard;
65
+ private handleWorkerFinalization;
66
+ private requireAgentRuntime;
67
+ private applyAcpSessionToSlot;
68
+ private isAcpRunActive;
69
+ private acpRunExitCode;
62
70
  /**
63
71
  * Build branch name from card: feature/<seq>-<slug>
64
72
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionEngine.d.ts","sourceRoot":"","sources":["../../src/engines/ExecutionEngine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAsC,MAAM,oBAAoB,CAAC;AAM5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAA0B,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAIjE,qBAAa,eAAe;IAIxB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,QAAQ,CAAC;IAVnB,OAAO,CAAC,GAAG,CAAS;gBAGV,GAAG,EAAE,cAAc,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,iBAAiB,EAC7B,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,QAAQ,CAAC,EAAE,QAAQ,YAAA;IAKvB,IAAI,CAAC,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAqGnE;;;OAGG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAuDxF,OAAO,CAAC,UAAU;IAIlB;;;;OAIG;YACW,oBAAoB;IAgBlC;;;;;;;OAOG;YACW,mBAAmB;IAyDjC;;;OAGG;YACW,WAAW;IA6DzB;;;OAGG;YACW,UAAU;IAsLxB;;;OAGG;YACW,YAAY;IA2D1B;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,gBAAgB;IAiGxB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAqGxB;;;OAGG;IACH,OAAO,CAAC,WAAW;IA6BnB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAsCzB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,QAAQ;CASjB"}
1
+ {"version":3,"file":"ExecutionEngine.d.ts","sourceRoot":"","sources":["../../src/engines/ExecutionEngine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAsC,MAAM,oBAAoB,CAAC;AAO5F,OAAO,EAAE,iBAAiB,EAAqB,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAA0B,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAIjE,qBAAa,eAAe;IAIxB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,QAAQ,CAAC;IACjB,OAAO,CAAC,YAAY,CAAC;IAXvB,OAAO,CAAC,GAAG,CAAS;gBAGV,GAAG,EAAE,cAAc,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,iBAAiB,EAC7B,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,QAAQ,CAAC,EAAE,QAAQ,YAAA,EACnB,YAAY,CAAC,GAAE,YAAY,GAAG,IAAI,aAAA;IAKtC,IAAI,CAAC,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAqGnE;;;OAGG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAuDxF,OAAO,CAAC,UAAU;IAIlB;;;;OAIG;YACW,oBAAoB;IAgBlC;;;;;;;OAOG;YACW,mBAAmB;IA6DjC;;;OAGG;YACW,WAAW;IA6DzB;;;OAGG;YACW,UAAU;IAmPxB;;;OAGG;YACW,YAAY;YAYZ,sBAAsB;YAqGtB,wBAAwB;IA2DtC,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,cAAc;IAMtB;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,gBAAgB;IAiGxB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAqGxB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAqCnB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAsCzB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,QAAQ;CASjB"}
@@ -15,8 +15,9 @@ export class ExecutionEngine {
15
15
  postActions;
16
16
  resourceLimiter;
17
17
  notifier;
18
+ agentRuntime;
18
19
  log;
19
- constructor(ctx, taskBackend, repoBackend, supervisor, completionJudge, postActions, resourceLimiter, notifier) {
20
+ constructor(ctx, taskBackend, repoBackend, supervisor, completionJudge, postActions, resourceLimiter, notifier, agentRuntime) {
20
21
  this.ctx = ctx;
21
22
  this.taskBackend = taskBackend;
22
23
  this.repoBackend = repoBackend;
@@ -25,6 +26,7 @@ export class ExecutionEngine {
25
26
  this.postActions = postActions;
26
27
  this.resourceLimiter = resourceLimiter;
27
28
  this.notifier = notifier;
29
+ this.agentRuntime = agentRuntime;
28
30
  this.log = new Logger('pipeline', ctx.projectName, ctx.paths.logsDir);
29
31
  }
30
32
  async tick(opts = {}) {
@@ -220,6 +222,9 @@ export class ExecutionEngine {
220
222
  return null;
221
223
  }
222
224
  const [slotName] = slotEntry;
225
+ if (state.workers[slotName]?.transport === 'acp' || state.workers[slotName]?.mode === 'acp') {
226
+ return this.checkAcpInprogressCard(card, slotName);
227
+ }
223
228
  const workerId = `${this.ctx.projectName}:${slotName}:${seq}`;
224
229
  const handle = this.supervisor.get(workerId);
225
230
  if (handle && handle.exitCode === null) {
@@ -342,11 +347,19 @@ export class ExecutionEngine {
342
347
  tmuxSession: sessionName,
343
348
  claimedAt: new Date().toISOString(),
344
349
  lastHeartbeat: new Date().toISOString(),
345
- mode: this.ctx.config.WORKER_MODE,
350
+ mode: this.ctx.config.WORKER_TRANSPORT === 'acp' ? 'acp' : this.ctx.config.WORKER_MODE,
351
+ transport: this.ctx.config.WORKER_TRANSPORT,
352
+ agent: (this.ctx.config.ACP_AGENT || this.ctx.config.WORKER_TOOL),
346
353
  sessionId: null,
354
+ runId: null,
355
+ sessionState: null,
356
+ remoteStatus: null,
357
+ lastEventAt: null,
347
358
  pid: null,
348
359
  outputFile: null,
349
360
  exitCode: null,
361
+ mergeRetries: 0,
362
+ completedAt: null,
350
363
  };
351
364
  // Add to active cards
352
365
  const conflictDomains = card.labels
@@ -408,33 +421,70 @@ export class ExecutionEngine {
408
421
  }
409
422
  await this.resourceLimiter.enforceStagger();
410
423
  const prompt = readFileSync(promptFile, 'utf-8').trim();
411
- const outputFile = resolve(this.ctx.config.raw.LOGS_DIR || `/tmp/sps-${this.ctx.projectName}`, `${sessionName}-${Date.now()}.jsonl`);
412
424
  const workerId = `${this.ctx.projectName}:${slotName}:${card.seq}`;
413
- const workerHandle = this.supervisor.spawn({
414
- id: workerId,
415
- project: this.ctx.projectName,
416
- seq: card.seq,
417
- slot: slotName,
418
- worktree: worktreePath,
419
- branch: branchName,
420
- prompt,
421
- outputFile,
422
- tool: this.ctx.config.WORKER_TOOL,
423
- onExit: (exitCode) => {
424
- this.onWorkerExit(workerId, card, slotName, worktreePath, branchName, exitCode);
425
- },
426
- });
427
- // Store process info in state
428
- const freshState = readState(this.ctx.paths.stateFile, this.ctx.maxWorkers);
429
- if (freshState.workers[slotName]) {
430
- freshState.workers[slotName].mode = 'print';
431
- freshState.workers[slotName].pid = workerHandle.pid;
432
- freshState.workers[slotName].outputFile = workerHandle.outputFile;
433
- freshState.workers[slotName].sessionId = workerHandle.sessionId || null;
434
- freshState.workers[slotName].exitCode = null;
435
- writeState(this.ctx.paths.stateFile, freshState, 'pipeline-launch-print');
425
+ if (this.ctx.config.WORKER_TRANSPORT === 'acp') {
426
+ const runtime = this.requireAgentRuntime();
427
+ const session = await runtime.startRun(slotName, prompt, (this.ctx.config.ACP_AGENT || this.ctx.config.WORKER_TOOL), worktreePath);
428
+ const freshState = readState(this.ctx.paths.stateFile, this.ctx.maxWorkers);
429
+ if (freshState.workers[slotName]) {
430
+ this.applyAcpSessionToSlot(freshState.workers[slotName], session);
431
+ writeState(this.ctx.paths.stateFile, freshState, 'pipeline-launch-acp');
432
+ }
433
+ this.supervisor.registerAcpHandle({
434
+ id: workerId,
435
+ pid: null,
436
+ outputFile: null,
437
+ project: this.ctx.projectName,
438
+ seq: card.seq,
439
+ slot: slotName,
440
+ branch: branchName,
441
+ worktree: worktreePath,
442
+ tool: session.tool,
443
+ exitCode: null,
444
+ sessionId: session.sessionId,
445
+ runId: session.currentRun?.runId || null,
446
+ sessionState: session.sessionState,
447
+ remoteStatus: session.currentRun?.status || null,
448
+ lastEventAt: session.lastSeenAt,
449
+ startedAt: new Date().toISOString(),
450
+ exitedAt: null,
451
+ });
452
+ this.log.ok(`Step 6: ACP worker launched for seq ${seq} (session=${session.sessionId}, run=${session.currentRun?.runId || 'none'})`);
453
+ }
454
+ else {
455
+ const outputFile = resolve(this.ctx.config.raw.LOGS_DIR || `/tmp/sps-${this.ctx.projectName}`, `${sessionName}-${Date.now()}.jsonl`);
456
+ const workerHandle = this.supervisor.spawn({
457
+ id: workerId,
458
+ project: this.ctx.projectName,
459
+ seq: card.seq,
460
+ slot: slotName,
461
+ worktree: worktreePath,
462
+ branch: branchName,
463
+ prompt,
464
+ outputFile,
465
+ tool: this.ctx.config.WORKER_TOOL,
466
+ onExit: (exitCode) => {
467
+ this.onWorkerExit(workerId, card, slotName, worktreePath, branchName, exitCode);
468
+ },
469
+ });
470
+ // Store process info in state
471
+ const freshState = readState(this.ctx.paths.stateFile, this.ctx.maxWorkers);
472
+ if (freshState.workers[slotName]) {
473
+ freshState.workers[slotName].mode = 'print';
474
+ freshState.workers[slotName].transport = 'proc';
475
+ freshState.workers[slotName].agent = this.ctx.config.WORKER_TOOL;
476
+ freshState.workers[slotName].pid = workerHandle.pid;
477
+ freshState.workers[slotName].outputFile = workerHandle.outputFile;
478
+ freshState.workers[slotName].sessionId = workerHandle.sessionId || null;
479
+ freshState.workers[slotName].runId = null;
480
+ freshState.workers[slotName].sessionState = null;
481
+ freshState.workers[slotName].remoteStatus = null;
482
+ freshState.workers[slotName].lastEventAt = null;
483
+ freshState.workers[slotName].exitCode = null;
484
+ writeState(this.ctx.paths.stateFile, freshState, 'pipeline-launch-print');
485
+ }
486
+ this.log.ok(`Step 6: Worker launched for seq ${seq} (pid=${workerHandle.pid})`);
436
487
  }
437
- this.log.ok(`Step 6: Worker launched for seq ${seq} (pid=${workerHandle.pid})`);
438
488
  if (this.notifier) {
439
489
  await this.notifier.sendSuccess(`[${this.ctx.projectName}] seq:${seq} worker started (${slotName})`).catch(() => { });
440
490
  }
@@ -467,9 +517,15 @@ export class ExecutionEngine {
467
517
  // Rollback: kill worker, release slot
468
518
  const workerId = `${this.ctx.projectName}:${slotName}:${card.seq}`;
469
519
  try {
470
- await this.supervisor.kill(workerId);
520
+ if (this.ctx.config.WORKER_TRANSPORT === 'acp' && this.agentRuntime) {
521
+ await this.agentRuntime.stopSession(slotName);
522
+ }
523
+ else {
524
+ await this.supervisor.kill(workerId);
525
+ }
471
526
  }
472
527
  catch { /* best effort */ }
528
+ this.supervisor.remove(workerId);
473
529
  this.resourceLimiter.release();
474
530
  this.releaseSlot(slotName, seq);
475
531
  this.logEvent('launch-move', seq, 'fail', { error: msg });
@@ -483,6 +539,82 @@ export class ExecutionEngine {
483
539
  */
484
540
  async onWorkerExit(workerId, card, slotName, worktree, branch, exitCode) {
485
541
  const handle = this.supervisor.get(workerId);
542
+ await this.handleWorkerFinalization(card, slotName, worktree, branch, exitCode, handle || null, 'proc');
543
+ }
544
+ async checkAcpInprogressCard(card, slotName) {
545
+ const runtime = this.requireAgentRuntime();
546
+ const seq = card.seq;
547
+ const inspected = await runtime.inspect(slotName);
548
+ const session = inspected.sessions[slotName];
549
+ const workerId = `${this.ctx.projectName}:${slotName}:${seq}`;
550
+ const state = readState(this.ctx.paths.stateFile, this.ctx.maxWorkers);
551
+ const slot = state.workers[slotName];
552
+ if (!slot)
553
+ return null;
554
+ if (session) {
555
+ this.applyAcpSessionToSlot(slot, session);
556
+ slot.lastHeartbeat = new Date().toISOString();
557
+ writeState(this.ctx.paths.stateFile, state, 'pipeline-acp-heartbeat');
558
+ this.supervisor.registerAcpHandle({
559
+ id: workerId,
560
+ pid: null,
561
+ outputFile: null,
562
+ project: this.ctx.projectName,
563
+ seq,
564
+ slot: slotName,
565
+ branch: slot.branch || this.buildBranchName(card),
566
+ worktree: slot.worktree || resolveWorktreePath(this.ctx.projectName, seq, this.ctx.config.WORKTREE_DIR),
567
+ tool: session.tool,
568
+ exitCode: null,
569
+ sessionId: session.sessionId,
570
+ runId: session.currentRun?.runId || null,
571
+ sessionState: session.sessionState,
572
+ remoteStatus: session.currentRun?.status || null,
573
+ lastEventAt: session.lastSeenAt,
574
+ startedAt: slot.claimedAt || new Date().toISOString(),
575
+ exitedAt: null,
576
+ });
577
+ if (!session.currentRun || this.isAcpRunActive(session.currentRun.status)) {
578
+ return null;
579
+ }
580
+ const handle = this.supervisor.updateAcpHandle(workerId, {
581
+ exitCode: this.acpRunExitCode(session.currentRun.status),
582
+ exitedAt: new Date().toISOString(),
583
+ sessionId: session.sessionId,
584
+ runId: session.currentRun.runId,
585
+ sessionState: session.sessionState,
586
+ remoteStatus: session.currentRun.status,
587
+ lastEventAt: session.lastSeenAt,
588
+ }) || this.supervisor.get(workerId) || null;
589
+ await this.handleWorkerFinalization(card, slotName, slot.worktree || resolveWorktreePath(this.ctx.projectName, seq, this.ctx.config.WORKTREE_DIR), slot.branch || this.buildBranchName(card), this.acpRunExitCode(session.currentRun.status), handle, 'acp');
590
+ return {
591
+ action: 'complete',
592
+ entity: `seq:${seq}`,
593
+ result: session.currentRun.status === 'completed' ? 'ok' : 'fail',
594
+ message: `ACP run ${session.currentRun.status}`,
595
+ };
596
+ }
597
+ slot.sessionState = 'offline';
598
+ slot.remoteStatus = 'lost';
599
+ slot.lastEventAt = new Date().toISOString();
600
+ slot.lastHeartbeat = new Date().toISOString();
601
+ writeState(this.ctx.paths.stateFile, state, 'pipeline-acp-lost');
602
+ const handle = this.supervisor.updateAcpHandle(workerId, {
603
+ exitCode: 1,
604
+ exitedAt: new Date().toISOString(),
605
+ sessionState: 'offline',
606
+ remoteStatus: 'lost',
607
+ lastEventAt: new Date().toISOString(),
608
+ }) || this.supervisor.get(workerId) || null;
609
+ await this.handleWorkerFinalization(card, slotName, slot.worktree || resolveWorktreePath(this.ctx.projectName, seq, this.ctx.config.WORKTREE_DIR), slot.branch || this.buildBranchName(card), 1, handle, 'acp');
610
+ return {
611
+ action: 'complete',
612
+ entity: `seq:${seq}`,
613
+ result: 'fail',
614
+ message: 'ACP session lost',
615
+ };
616
+ }
617
+ async handleWorkerFinalization(card, slotName, worktree, branch, exitCode, handle, transport) {
486
618
  const completion = this.completionJudge.judge({
487
619
  worktree,
488
620
  branch,
@@ -512,6 +644,7 @@ export class ExecutionEngine {
512
644
  const state = readState(this.ctx.paths.stateFile, this.ctx.maxWorkers);
513
645
  const activeCard = state.activeCards[card.seq];
514
646
  const retryCount = activeCard?.retryCount ?? 0;
647
+ const workerId = `${this.ctx.projectName}:${slotName}:${card.seq}`;
515
648
  try {
516
649
  if (completion.status === 'completed') {
517
650
  const results = await this.postActions.executeCompletion(ctx, completion, handle?.sessionId || null);
@@ -519,7 +652,8 @@ export class ExecutionEngine {
519
652
  this.log.ok(`seq ${card.seq}: PostActions completed (${allOk ? 'all ok' : 'some failures'})`);
520
653
  }
521
654
  else {
522
- await this.postActions.executeFailure(ctx, completion, exitCode, handle?.sessionId || null, retryCount, {
655
+ const retrySessionId = transport === 'proc' ? (handle?.sessionId || null) : null;
656
+ await this.postActions.executeFailure(ctx, completion, exitCode, retrySessionId, retryCount, {
523
657
  onExit: (code) => this.onWorkerExit(workerId, card, slotName, worktree, branch, code),
524
658
  });
525
659
  this.log.info(`seq ${card.seq}: Failure handling done`);
@@ -529,6 +663,32 @@ export class ExecutionEngine {
529
663
  this.log.error(`seq ${card.seq}: PostActions error: ${err}`);
530
664
  }
531
665
  }
666
+ requireAgentRuntime() {
667
+ if (!this.agentRuntime) {
668
+ throw new Error('ACP transport requested but AgentRuntime is not configured');
669
+ }
670
+ return this.agentRuntime;
671
+ }
672
+ applyAcpSessionToSlot(slot, session) {
673
+ slot.mode = 'acp';
674
+ slot.transport = 'acp';
675
+ slot.agent = session.tool;
676
+ slot.tmuxSession = session.sessionName;
677
+ slot.sessionId = session.sessionId;
678
+ slot.runId = session.currentRun?.runId || null;
679
+ slot.sessionState = session.sessionState;
680
+ slot.remoteStatus = session.currentRun?.status || null;
681
+ slot.lastEventAt = session.lastSeenAt;
682
+ slot.pid = null;
683
+ slot.outputFile = null;
684
+ slot.exitCode = null;
685
+ }
686
+ isAcpRunActive(status) {
687
+ return ['submitted', 'running', 'waiting_input'].includes(status);
688
+ }
689
+ acpRunExitCode(status) {
690
+ return status === 'completed' ? 0 : 1;
691
+ }
532
692
  // ─── Helpers ─────────────────────────────────────────────────────
533
693
  /**
534
694
  * Build branch name from card: feature/<seq>-<slug>
@@ -747,10 +907,18 @@ ${requirements.join('\n')}`);
747
907
  claimedAt: null,
748
908
  lastHeartbeat: null,
749
909
  mode: null,
910
+ transport: null,
911
+ agent: null,
750
912
  sessionId: null,
913
+ runId: null,
914
+ sessionState: null,
915
+ remoteStatus: null,
916
+ lastEventAt: null,
751
917
  pid: null,
752
918
  outputFile: null,
753
919
  exitCode: null,
920
+ mergeRetries: 0,
921
+ completedAt: null,
754
922
  };
755
923
  }
756
924
  delete state.activeCards[seq];