Merge branch 'codex/claude-runner-default' into codex/claude-runner-platforms

* codex/claude-runner-default:
  fix(runner): admit verified suspended SSH backups on restart
This commit is contained in:
Dotta committed 2026-10-12 15:40:45 -05:00
commit cfdedf85a3
2 files changed
+9 -10

No files matched your search

@@ -10526,9 +10526,9 @@ describe("runnerd provider runtime wiring", () => {
corrupt: true,
accepted: false,
},
] as const)(
"uses remote prior-run backup when acceptance=$accepted direct=$directLifecycle backup=$backupLifecycle corrupt=$corrupt",
async ({ directLifecycle, backupLifecycle, corrupt, accepted }) => {
].flatMap(testCase => (["sandbox", "ssh"] as const).map(transport => ({ ...testCase, transport }))))(
"uses $transport prior-run backup when acceptance=$accepted direct=$directLifecycle backup=$backupLifecycle corrupt=$corrupt",
async ({ directLifecycle, backupLifecycle, corrupt, accepted, transport }) => {
const priorExecution = scopedNativeExecution("remote-prior-scope");
@@ -10542,7 +10542,10 @@ describe("runnerd provider runtime wiring", () => {
const priorRunDb = priorNativeRunDb(priorExecution);
const remoteTarget = {
kind: "remote" as const,
transport: "sandbox" as const,
transport,
spec: { host: "fixture.invalid", username: "fixture", port: 22,
remoteCwd: "/workspace", remoteWorkspacePath: "/workspace",
privateKey: null, knownHosts: null, strictHostKeyChecking: true },
providerKey: "daytona",
leaseId: "environment-lease-remote-prior-scope",
remoteCwd: "/home/daytona/paperclip-workspace",
@@ -7738,9 +7738,7 @@ async function executePaperclipNativeSessionWithinScope(
retainedTransition = await migrateRunnerdStateRootForExecution({
db: input.db,
execution: input.execution,
allowVerifiedBackup:
input.runnerExecutionTarget?.kind === "remote" &&
input.runnerExecutionTarget.transport === "sandbox",
allowVerifiedBackup: input.runnerExecutionTarget?.kind === "remote",
// A retained warm runner is deliberately still ready rather than
// suspended. Only the exact idle in-process owner may rotate that
// prior-run authority; after a hard restart the map is empty and the
@@ -11207,9 +11205,7 @@ export async function createRunnerdBackend(input: {
retainedTransition = await migrateRunnerdStateRootForExecution({
db: input.db,
execution: input.execution,
allowVerifiedBackup:
input.runnerExecutionTarget?.kind === "remote" &&
input.runnerExecutionTarget.transport === "sandbox",
allowVerifiedBackup: input.runnerExecutionTarget?.kind === "remote",
allowRetainedWarmRunner: false,
allowLocalRecovery: input.runnerExecutionTarget?.kind !== "remote",
onLog: input.onLog,