refactoring DAG snapshot creation and validation into a single function, and using it in both job.start() and retry().