You guys are scary sick, like in an awesome way! :) Thank you.
If I have a block of time, I thought of spidering through the dependency chain, parsing the dependencies in metadata.json, fetching the latest version (query the forge) in the range specified, then updating the final Puppetfile. I think I was spoiled in Chef-land as their Berksfile, which leveraged off metadata.rb, and would resolved subsequent dependencies automatically. When I was getting reacquainted with Puppet, I had problems getting compatible modules for Puppet 3.x, as they depended on modules, but installed the latest non-Puppet 3.x compatible ones. It was frustrating to say the least. The Forge wasn't a fun experience (especially trying to create ElasticSearch cluster using puppet during a job interview exercise). Now that I have some time, it is fun getting back into things, learning how things have evolved. Example42's material, like the fabric tasks, are exciting.