a0da220e8e
resumeAbandonedSessions (boot pickup of RUNNING sessions) and the restart-while-approval-pending subscription still used the bare launchSessionResume: no artifact-cache rehydrate and no freestyle plan-lock handoff. A freestyle session killed mid-planning was grabbed by the boot path before the operator could POST /resume, completed the planning graph, and stranded — WorkflowCompleted but never locked (live repro: session b36b0e45, 2026-06-12). Both paths now use launchSessionResumeWithRehydrate; the bare launcher is deleted.