contrastive-learning-scaffold