There is a possible bug here with the checkpoint implementation and when using the custom workflow.
Lets say, i am executing the job such that each instance create a unique workspace (in my case, the build_number). Now, i want to resume (using a checkpoint) a previous job, the new job starts from the old workspace of the previous job, which is right. But when it enters the next stage, it create a new workspace and if there is a dependency on the data from the previous workspace. The job fails as the new workspace doesn't have any files in it from the previous stages.
IMHO, the job should continue withing the old workspace and not create a new one. Is there any reason why it should create a new workspace, to me we are reexecuting or continuing the old stopped or failed or successful job.