fix(pi-workflow): reset failed verification on retry

This commit is contained in:
jb
2026-08-25 19:50:22 -04:00
parent 805b8e00d4
commit a54a92ace4
4 changed files with 34 additions and 1 deletions
+13
View File
@@ -1512,9 +1512,20 @@ test("Recovery retry reruns failed verification after the remediation limit", as
await withTempDir(async (directory) => {
const setup = await fixture(directory);
let commandRuns = 0;
let runId: string | undefined;
const hostCommands: HostCommandExecutor = {
async run() {
commandRuns++;
if (commandRuns === 2) {
assert.ok(runId);
const retrying = await setup.store.loadRun(runId);
const [command] = retrying.verificationEvidence?.commands ?? [];
assert.equal(command?.status, "running");
assert.equal(command?.stdout, undefined);
assert.equal(command?.stderr, undefined);
assert.equal(command?.exitCode, undefined);
assert.equal(command?.error, undefined);
}
return {
result: {
code: commandRuns === 1 ? 1 : 0,
@@ -1552,6 +1563,7 @@ test("Recovery retry reruns failed verification after the remediation limit", as
hostCommands,
effectiveConfig,
}).execute(startCommand());
runId = planned.runId;
const approved = await setup.engine("session-1", {
hostCommands,
effectiveConfig,
@@ -1598,6 +1610,7 @@ test("Recovery retry reruns failed verification after the remediation limit", as
const liveStolen = structuredClone(untouched);
liveStolen.revision++;
liveStolen.parentSessionIds.push("transient-session");
liveStolen.verificationEvidence!.commands[0]!.error = "stale host exception";
liveStolen.lease = {
processId: 200,
activeParentSessionId: "transient-session",