The overall idea is to have stack detect hpack files and automatically generate cabal files when the hpack files change. I'm not sure if everyone will be on board with the idea, but it seems like a good idea to me, lets discuss!
In commercialhaskell/stack#1568 , I lay out an approach to having multiple stack configurations inform wide version bounds for dependencies. One reason that I'm keen on hpack is that the stage where .cabal files are generated would be a great time to insert these version constraints.