fix: harden workflow execution recovery

This commit is contained in:
liujing
2026-07-17 15:56:58 +08:00
parent 90551414b1
commit fb39ab289a
14 changed files with 355 additions and 30 deletions
+5 -2
View File
@@ -162,12 +162,14 @@ describe("ClaudeAdapter", () => {
});
const adapter = createExecutorAdapter("claude");
let activityCount = 0;
const result = await adapter.start({
repoRoot: tmpDir,
plan: makeValidPlan(),
runDir: tmpDir,
cycleIndex: 1,
config: { binary: fakeBin },
onActivity: () => { activityCount += 1; },
});
const capturedArgs = fs.existsSync(argsFile)
@@ -181,6 +183,7 @@ describe("ClaudeAdapter", () => {
const sessionIdIdx = capturedArgs.indexOf("--session-id");
expect(sessionIdIdx).toBeGreaterThanOrEqual(0);
expect(capturedArgs[sessionIdIdx + 1]).toMatch(/^[0-9a-f-]{36}$/i);
expect(activityCount).toBeGreaterThan(0);
expect(result.sessionHandle?.kind).toBe("claude");
});
@@ -490,7 +493,7 @@ describe("AgyAdapter", () => {
expect(capturedArgs).toContain("--mode");
expect(capturedArgs[capturedArgs.indexOf("--mode") + 1]).toBe("accept-edits");
expect(capturedArgs).toContain("--print-timeout");
expect(capturedArgs[capturedArgs.indexOf("--print-timeout") + 1]).toBe("1800s");
expect(capturedArgs[capturedArgs.indexOf("--print-timeout") + 1]).toBe("24h");
expect(capturedArgs).not.toContain("--");
expect(printIndex).toBe(capturedArgs.length - 2);
expect(capturedArgs[printIndex + 1]).toContain("# Implementation Task: Test plan");
@@ -539,7 +542,7 @@ describe("AgyAdapter", () => {
expect(capturedArgs).toContain("--conversation");
expect(capturedArgs).toContain("known-conv-id");
expect(capturedArgs).toContain("--dangerously-skip-permissions");
expect(capturedArgs[capturedArgs.indexOf("--print-timeout") + 1]).toBe("900s");
expect(capturedArgs[capturedArgs.indexOf("--print-timeout") + 1]).toBe("24h");
expect(capturedArgs[capturedArgs.indexOf("--print") + 1]).toContain("# Fix Request: Test plan");
});