it's difficult to re-run puppet without making a fake commit to ensure it changed.
we could probably keep the last successful extracted manifests/modules around and only delete them when it's replaced by the next successful run. You're at least then able to log in and re-run it a bit easier.
can't think of another way to do this though, via git itself.