@coralai/sps-cli 0.23.14 → 0.23.15
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.
package/README.md
CHANGED
|
@@ -123,7 +123,7 @@ Planning -> Backlog -> Todo -> Inprogress -> Done
|
|
|
123
123
|
|
|
124
124
|
The Worker no longer executes `.sps/merge.sh` as the normal path. In `MR_MODE=none`, the Worker commits and pushes the feature branch, then SPS closeout performs a serialized merge. Final integration now runs inside a temporary detached merge worktree, which avoids `main already used by worktree` failures and keeps the user's main checkout untouched. `.sps/merge.sh` remains only as a manual fallback. See `docs/design/10-acp-worker-runtime-design.md` for the persistent Agent transport model, the full worker state breakdown, and the local same-user OAuth reuse boundary. See `docs/design/11-runtime-state-authority-and-recovery-redesign.md` for the redesign that demotes `state.json` / `acp-state.json` to projections and re-centers recovery around PM state plus worktree/git evidence. See `docs/design/12-unified-runtime-state-machine.md` for the next-step module cleanup plan that converges `Execution`, `Recovery`, `Monitor`, `Closeout`, and `PostActions` into one state machine authority plus a single runtime coordinator/write path.
|
|
125
125
|
|
|
126
|
-
PTY transport now extends the same session/run model into the default CLI-backed worker path.
|
|
126
|
+
PTY transport now extends the same session/run model into the default CLI-backed worker path, but the restart boundary is now explicit. Within a running `tick` process, `WORKER_TRANSPORT=pty` still uses `sessionId/runId` for retries and conflict follow-up runs. Across a `tick` restart, SPS no longer pretends it can recover the old PTY session; it recovers the task from `TaskLease + WorktreeEvidence`, judges completion from git/worktree evidence first, and starts a fresh PTY run in the same worktree only if work remains. `WORKER_TRANSPORT=acp` still keeps its session-based model. The PTY hardening sequence remains: v0.23.5 upgrades `node-pty` to a macOS-safe build, auto-restores missing execute permissions on `spawn-helper`, and auto-skips the benign Codex update notice during PTY boot so `ensureSession()` can reach `ready`; v0.23.6 fixes PTY run lifecycle tracking so newly submitted conflict-resolution runs no longer get marked `completed` during the first inspect cycle before the CLI actually leaves the prompt; v0.23.7 switches `sps worker dashboard` from raw PTY pane dumps to structured worker summaries; v0.23.9 validates persisted PTY sessions by PID before treating them as alive; v0.23.10 aligns PM and read-only views around runtime-owned cards; v0.23.11 introduces PM + worktree + session-first runtime projection; v0.23.12 moves recovery/execution onto `TaskLease + WorktreeEvidence`; v0.23.13 pulls monitor/closeout onto the same lease-first model; v0.23.14 completes the write-path migration through `RuntimeStore`; and v0.23.15 finalizes PTY restart behavior as task-level recovery instead of fake session-level recovery. Codex has been verified on launch, task-level recovery, direct merge, same-process resume, PTY conflict fallback, spawn-helper self-heal, immediate post-launch run-state inspection, summary-style dashboard rendering, cold-state liveness validation, runtime-owned PM reconciliation, read-only snapshot rendering, and lease-first recovery/execution/monitor/closeout flow; Claude still depends on host-side `claude auth login` before reaching `ready`.
|
|
127
127
|
|
|
128
128
|
### MR_MODE=create (Optional)
|
|
129
129
|
|
|
@@ -36,10 +36,17 @@ export declare class Recovery {
|
|
|
36
36
|
private buildOnExitCallback;
|
|
37
37
|
private log;
|
|
38
38
|
private recoverAcpSlot;
|
|
39
|
+
private recoverPtyTask;
|
|
39
40
|
private listRecoverableLeases;
|
|
40
41
|
private resolveRecoverySlotName;
|
|
41
42
|
private getRetryCount;
|
|
42
43
|
private syncAcpSlot;
|
|
44
|
+
private syncRecoveredTask;
|
|
45
|
+
private shouldRestartPtyTask;
|
|
46
|
+
private buildPtyRecoveryPrompt;
|
|
47
|
+
private readTaskPrompt;
|
|
48
|
+
private slotStatusForLease;
|
|
49
|
+
private isPtyTask;
|
|
43
50
|
private isActiveRun;
|
|
44
51
|
private acpExitCode;
|
|
45
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../src/manager/recovery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../src/manager/recovery.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,WAAW,EAA0B,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAOvD,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,qBAAa,QAAQ;IAEjB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAHf,UAAU,EAAE,iBAAiB,EAC7B,KAAK,EAAE,eAAe,EACtB,kBAAkB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,WAAW,EACjE,eAAe,EAAE,eAAe;IAGnD,OAAO,CAAC,UAAU;IAOlB;;;;OAIG;IACG,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAoH/D,OAAO,CAAC,sBAAsB;IAoC9B,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,GAAG;YAIG,cAAc;YAyGd,cAAc;IAqF5B,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,uBAAuB;IA8B/B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,iBAAiB;IAgEzB,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,sBAAsB;IAgD9B,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;CAGpB"}
|
package/dist/manager/recovery.js
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recovery — restores worker state when tick process restarts.
|
|
3
|
+
*
|
|
4
|
+
* Scans state.json for active workers, checks PID liveness,
|
|
5
|
+
* and either re-attaches monitoring or triggers completion flows.
|
|
6
|
+
*
|
|
7
|
+
* Called once at tick startup before the main loop begins.
|
|
8
|
+
*/
|
|
9
|
+
import { resolve } from 'node:path';
|
|
10
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
1
11
|
import { RuntimeStore } from '../core/runtimeStore.js';
|
|
2
12
|
import { resolveGitlabProjectId } from '../core/config.js';
|
|
3
13
|
import { ProjectContext } from '../core/context.js';
|
|
4
14
|
import { isProcessAlive } from '../providers/outputParser.js';
|
|
5
|
-
import {
|
|
15
|
+
import { createAgentRuntime } from '../providers/registry.js';
|
|
6
16
|
// ─── Recovery ───────────────────────────────────────────────────
|
|
7
17
|
export class Recovery {
|
|
8
18
|
supervisor;
|
|
@@ -55,7 +65,7 @@ export class Recovery {
|
|
|
55
65
|
result.found++;
|
|
56
66
|
const isAcpTransport = workerRef.transport === 'acp' || workerRef.transport === 'pty' || workerRef.mode === 'acp' || workerRef.mode === 'pty';
|
|
57
67
|
if (isAcpTransport && slotName) {
|
|
58
|
-
const recovered = await this.recoverAcpSlot(project, slotName, seq, workerRef, postActions, lease
|
|
68
|
+
const recovered = await this.recoverAcpSlot(project, slotName, seq, workerRef, postActions, lease);
|
|
59
69
|
if (recovered === 'alive')
|
|
60
70
|
result.alive++;
|
|
61
71
|
if (recovered === 'completed')
|
|
@@ -168,9 +178,12 @@ export class Recovery {
|
|
|
168
178
|
log(msg) {
|
|
169
179
|
process.stderr.write(`[recovery] ${msg}\n`);
|
|
170
180
|
}
|
|
171
|
-
async recoverAcpSlot(project, slotName, seq, slot, postActions,
|
|
181
|
+
async recoverAcpSlot(project, slotName, seq, slot, postActions, lease) {
|
|
182
|
+
if (this.isPtyTask(project, slot)) {
|
|
183
|
+
return this.recoverPtyTask(project, slotName, seq, slot, postActions, lease);
|
|
184
|
+
}
|
|
172
185
|
const ctx = ProjectContext.load(project.name);
|
|
173
|
-
const runtime =
|
|
186
|
+
const runtime = createAgentRuntime(ctx);
|
|
174
187
|
const inspected = await runtime.inspect(slotName);
|
|
175
188
|
const session = inspected.sessions[slotName];
|
|
176
189
|
const workerId = `${project.name}:${slotName}:${seq}`;
|
|
@@ -236,9 +249,61 @@ export class Recovery {
|
|
|
236
249
|
await postActions.executeCompletion(postActionCtx, completion, session?.sessionId || null);
|
|
237
250
|
return 'completed';
|
|
238
251
|
}
|
|
239
|
-
await postActions.executeFailure(postActionCtx, completion, exitCode, null, retryCount, { onExit: this.buildOnExitCallback(project, slotName, slot, seq, postActions) });
|
|
252
|
+
await postActions.executeFailure(postActionCtx, completion, exitCode, null, lease.retryCount, { onExit: this.buildOnExitCallback(project, slotName, slot, seq, postActions) });
|
|
240
253
|
return 'failed';
|
|
241
254
|
}
|
|
255
|
+
async recoverPtyTask(project, slotName, seq, slot, postActions, lease) {
|
|
256
|
+
const state = this.stateStore(project).readState();
|
|
257
|
+
const evidence = state.worktreeEvidence[seq] || null;
|
|
258
|
+
const judgeInput = {
|
|
259
|
+
worktree: slot.worktree || '',
|
|
260
|
+
branch: slot.branch || '',
|
|
261
|
+
baseBranch: project.config.GITLAB_MERGE_BRANCH,
|
|
262
|
+
outputFile: null,
|
|
263
|
+
exitCode: 1,
|
|
264
|
+
logsDir: project.logsDir,
|
|
265
|
+
};
|
|
266
|
+
const completion = this.judge.judge(judgeInput);
|
|
267
|
+
const postActionCtx = this.buildPostActionContext(project, slotName, seq, slot);
|
|
268
|
+
if (completion.status === 'completed') {
|
|
269
|
+
await postActions.executeCompletion(postActionCtx, completion, null);
|
|
270
|
+
return 'completed';
|
|
271
|
+
}
|
|
272
|
+
if (!this.shouldRestartPtyTask(lease, evidence, slot)) {
|
|
273
|
+
await postActions.executeFailure(postActionCtx, completion, 1, null, lease.retryCount, { onExit: this.buildOnExitCallback(project, slotName, slot, seq, postActions) });
|
|
274
|
+
return 'failed';
|
|
275
|
+
}
|
|
276
|
+
const ctx = ProjectContext.load(project.name);
|
|
277
|
+
const runtime = createAgentRuntime(ctx);
|
|
278
|
+
const tool = slot.agent || (project.config.ACP_AGENT || project.config.WORKER_TOOL);
|
|
279
|
+
const prompt = this.buildPtyRecoveryPrompt(project, lease, slot, evidence);
|
|
280
|
+
const session = await runtime.startRun(slotName, prompt, tool, slot.worktree || undefined);
|
|
281
|
+
this.resourceLimiter.tryAcquire();
|
|
282
|
+
this.syncRecoveredTask(project, slotName, seq, lease, slot, session);
|
|
283
|
+
const workerId = `${project.name}:${slotName}:${seq}`;
|
|
284
|
+
this.supervisor.registerAcpHandle({
|
|
285
|
+
id: workerId,
|
|
286
|
+
pid: null,
|
|
287
|
+
outputFile: null,
|
|
288
|
+
project: project.name,
|
|
289
|
+
seq,
|
|
290
|
+
slot: slotName,
|
|
291
|
+
branch: slot.branch || '',
|
|
292
|
+
worktree: slot.worktree || '',
|
|
293
|
+
tool: session.tool,
|
|
294
|
+
exitCode: null,
|
|
295
|
+
sessionId: session.sessionId,
|
|
296
|
+
runId: session.currentRun?.runId || null,
|
|
297
|
+
sessionState: session.sessionState,
|
|
298
|
+
remoteStatus: session.currentRun?.status || null,
|
|
299
|
+
lastEventAt: session.lastSeenAt,
|
|
300
|
+
startedAt: slot.claimedAt || lease.claimedAt || new Date().toISOString(),
|
|
301
|
+
exitedAt: null,
|
|
302
|
+
});
|
|
303
|
+
this.log(`Recovered PTY task ${workerId} by starting a fresh task-level session ` +
|
|
304
|
+
`(session ${session.sessionId}, run ${session.currentRun?.runId || 'unknown'})`);
|
|
305
|
+
return 'alive';
|
|
306
|
+
}
|
|
242
307
|
listRecoverableLeases(state) {
|
|
243
308
|
return Object.entries(state.leases)
|
|
244
309
|
.filter(([, lease]) => !['suspended', 'released'].includes(lease.phase))
|
|
@@ -283,12 +348,139 @@ export class Recovery {
|
|
|
283
348
|
slot.sessionState = session.sessionState;
|
|
284
349
|
slot.remoteStatus = session.currentRun?.status || null;
|
|
285
350
|
slot.lastEventAt = session.lastSeenAt;
|
|
286
|
-
slot.pid = null;
|
|
351
|
+
slot.pid = session.pid ?? null;
|
|
287
352
|
slot.outputFile = null;
|
|
288
353
|
slot.exitCode = null;
|
|
289
354
|
slot.lastHeartbeat = new Date().toISOString();
|
|
290
355
|
});
|
|
291
356
|
}
|
|
357
|
+
syncRecoveredTask(project, slotName, seq, lease, slot, session) {
|
|
358
|
+
this.stateStore(project).updateState('recovery-pty-restart', (state) => {
|
|
359
|
+
const worker = state.workers[slotName];
|
|
360
|
+
if (worker) {
|
|
361
|
+
worker.status = this.slotStatusForLease(lease.phase);
|
|
362
|
+
worker.seq = parseInt(seq, 10);
|
|
363
|
+
worker.branch = slot.branch || lease.branch;
|
|
364
|
+
worker.worktree = slot.worktree || lease.worktree;
|
|
365
|
+
worker.claimedAt = slot.claimedAt || lease.claimedAt || new Date().toISOString();
|
|
366
|
+
worker.mode = 'pty';
|
|
367
|
+
worker.transport = 'pty';
|
|
368
|
+
worker.agent = session.tool;
|
|
369
|
+
worker.tmuxSession = session.sessionName;
|
|
370
|
+
worker.sessionId = session.sessionId;
|
|
371
|
+
worker.runId = session.currentRun?.runId || null;
|
|
372
|
+
worker.sessionState = session.sessionState;
|
|
373
|
+
worker.remoteStatus = session.currentRun?.status || null;
|
|
374
|
+
worker.lastEventAt = session.lastSeenAt;
|
|
375
|
+
worker.pid = session.pid ?? null;
|
|
376
|
+
worker.outputFile = null;
|
|
377
|
+
worker.exitCode = null;
|
|
378
|
+
worker.lastHeartbeat = new Date().toISOString();
|
|
379
|
+
}
|
|
380
|
+
state.activeCards[seq] = {
|
|
381
|
+
seq: parseInt(seq, 10),
|
|
382
|
+
state: 'Inprogress',
|
|
383
|
+
worker: slotName,
|
|
384
|
+
mrUrl: state.activeCards[seq]?.mrUrl || null,
|
|
385
|
+
conflictDomains: state.activeCards[seq]?.conflictDomains || [],
|
|
386
|
+
startedAt: state.activeCards[seq]?.startedAt || lease.claimedAt || new Date().toISOString(),
|
|
387
|
+
retryCount: lease.retryCount,
|
|
388
|
+
};
|
|
389
|
+
if (state.leases[seq]) {
|
|
390
|
+
state.leases[seq].slot = slotName;
|
|
391
|
+
state.leases[seq].branch = slot.branch || lease.branch;
|
|
392
|
+
state.leases[seq].worktree = slot.worktree || lease.worktree;
|
|
393
|
+
state.leases[seq].sessionId = session.sessionId;
|
|
394
|
+
state.leases[seq].runId = session.currentRun?.runId || null;
|
|
395
|
+
state.leases[seq].phase = session.pendingInput
|
|
396
|
+
? 'waiting_confirmation'
|
|
397
|
+
: lease.phase === 'resolving_conflict'
|
|
398
|
+
? 'resolving_conflict'
|
|
399
|
+
: 'coding';
|
|
400
|
+
state.leases[seq].lastTransitionAt = new Date().toISOString();
|
|
401
|
+
}
|
|
402
|
+
});
|
|
403
|
+
}
|
|
404
|
+
shouldRestartPtyTask(lease, evidence, slot) {
|
|
405
|
+
const hasWorktree = !!(slot.worktree || lease.worktree);
|
|
406
|
+
const hasBranch = !!(slot.branch || lease.branch);
|
|
407
|
+
if (!hasWorktree || !hasBranch)
|
|
408
|
+
return false;
|
|
409
|
+
if (lease.phase === 'resolving_conflict')
|
|
410
|
+
return true;
|
|
411
|
+
if (lease.phase === 'waiting_confirmation')
|
|
412
|
+
return true;
|
|
413
|
+
if (lease.phase === 'coding')
|
|
414
|
+
return true;
|
|
415
|
+
if (lease.phase === 'merging' && evidence && ['rebase', 'merge', 'conflict'].includes(evidence.gitStatus)) {
|
|
416
|
+
return true;
|
|
417
|
+
}
|
|
418
|
+
return false;
|
|
419
|
+
}
|
|
420
|
+
buildPtyRecoveryPrompt(project, lease, slot, evidence) {
|
|
421
|
+
const worktree = slot.worktree || lease.worktree || '';
|
|
422
|
+
const branch = slot.branch || lease.branch || '';
|
|
423
|
+
const originalPrompt = this.readTaskPrompt(worktree);
|
|
424
|
+
const conflictRecovery = lease.phase === 'resolving_conflict' || !!evidence && ['rebase', 'merge', 'conflict'].includes(evidence.gitStatus);
|
|
425
|
+
const header = conflictRecovery
|
|
426
|
+
? [
|
|
427
|
+
'The previous SPS tick process stopped. The old PTY session is gone.',
|
|
428
|
+
'Recover this task at the task level in the existing worktree.',
|
|
429
|
+
`Working directory: ${worktree}`,
|
|
430
|
+
`Branch: ${branch}`,
|
|
431
|
+
'',
|
|
432
|
+
'Current goal:',
|
|
433
|
+
`1. cd ${worktree}`,
|
|
434
|
+
`2. Inspect the existing git state and continue the in-progress rebase/merge against origin/${project.config.GITLAB_MERGE_BRANCH}`,
|
|
435
|
+
'3. Resolve every conflict carefully based on the current code and task intent',
|
|
436
|
+
'4. Run git add on resolved files and continue the rebase/merge',
|
|
437
|
+
`5. Push the feature branch with git push --force-with-lease origin ${branch}`,
|
|
438
|
+
'6. Say "done" only after the branch is in a good state',
|
|
439
|
+
]
|
|
440
|
+
: [
|
|
441
|
+
'The previous SPS tick process stopped. The old PTY session is gone.',
|
|
442
|
+
'Recover this task at the task level in the existing worktree.',
|
|
443
|
+
`Working directory: ${worktree}`,
|
|
444
|
+
`Branch: ${branch}`,
|
|
445
|
+
'',
|
|
446
|
+
'Current goal:',
|
|
447
|
+
`1. cd ${worktree}`,
|
|
448
|
+
'2. Inspect the current git/worktree state before changing anything',
|
|
449
|
+
'3. Continue the task from the existing code instead of starting over',
|
|
450
|
+
'4. Run the necessary tests/checks for the current state',
|
|
451
|
+
`5. Push the feature branch ${branch} when the task is complete`,
|
|
452
|
+
'6. Say "done" only after the branch is pushed',
|
|
453
|
+
];
|
|
454
|
+
if (!originalPrompt) {
|
|
455
|
+
return header.join('\n');
|
|
456
|
+
}
|
|
457
|
+
return `${header.join('\n')}\n\nOriginal task context:\n---\n${originalPrompt}`;
|
|
458
|
+
}
|
|
459
|
+
readTaskPrompt(worktree) {
|
|
460
|
+
if (!worktree)
|
|
461
|
+
return null;
|
|
462
|
+
const promptFile = resolve(worktree, '.sps', 'task_prompt.txt');
|
|
463
|
+
if (!existsSync(promptFile))
|
|
464
|
+
return null;
|
|
465
|
+
try {
|
|
466
|
+
return readFileSync(promptFile, 'utf-8').trim() || null;
|
|
467
|
+
}
|
|
468
|
+
catch {
|
|
469
|
+
return null;
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
slotStatusForLease(phase) {
|
|
473
|
+
if (phase === 'merging')
|
|
474
|
+
return 'merging';
|
|
475
|
+
if (phase === 'resolving_conflict' || phase === 'waiting_confirmation')
|
|
476
|
+
return 'resolving';
|
|
477
|
+
if (phase === 'closing')
|
|
478
|
+
return 'releasing';
|
|
479
|
+
return 'active';
|
|
480
|
+
}
|
|
481
|
+
isPtyTask(project, slot) {
|
|
482
|
+
return slot.transport === 'pty' || slot.mode === 'pty' || project.config.WORKER_TRANSPORT === 'pty';
|
|
483
|
+
}
|
|
292
484
|
isActiveRun(status) {
|
|
293
485
|
return ['submitted', 'running', 'waiting_input'].includes(status);
|
|
294
486
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recovery.js","sourceRoot":"","sources":["../../src/manager/recovery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"recovery.js","sourceRoot":"","sources":["../../src/manager/recovery.ts"],"names":[],"mappings":"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"}
|