Thanks for raising this before the release :)
The functionality for adding complete package information to a snapshot file lives in the pantry package, not in Stack. I think I'd like to go in the direction of exposing this functionality via Pantry instead of Stack, since I don't want to add the complexity back into Stack. Also, the original reason for removing the freeze functionality was due to questions of how to handle now-deprecated hpack-only packages. I'd rather not get into that debate again, and leave that handling up to the caller.
I've put together a Gist demonstrating how to complete a snapshot layer:
It includes a `foo.yaml` custom snapshot file, and a `Main.hs` which uses that snapshot for running, and then generates a `bar.yaml` with the package and snapshot information completed. I could imagine adding an executable-maybe optional-to the pantry package to expose this functionality. What do you think?