It is not clear what changes will invalidate the pipeline and prompt snakemake to re-run the workflow.
Does change in input, intermediate output or custom script re-run the pipeline? In my experience changing intermediate output and custom script does not invalidate the pipeline and having that feature may improve reproducibility.