Previously, recoverOrphanedExecutions() skipped tasks whose worktree directory still existed, assuming an active session. After engine crashes where resumeOrphaned() failed, these tasks were stuck forever. Now uses a tiered grace period: 60s for missing worktrees, 5min for existing ones to avoid racing with startup recovery. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>