@thankful-minister-83577 - Jan brings up an interesting point in this. We've hit this too and I think this scenario is pretty common.
Imagine we run our N step workflow. At step, say 5, it fails because the task has a problem. We need to fix our code so the task can complete but steps 1-4 are very long-running tasks and the outputs they created are large.
What is the "most right" way to re-use those nicely preserved/immutable outputs from steps 1-4? So far, we've just re-ran the entire workflow or come up with not-so-great ways to re-use the outputs.