puppetrun not reporting client errors

I think you are attacking the problem in the wrong end: you should do some checking on your puppet files before you make them active on your puppetmaster.

The easiest way to check the syntax is to use:

puppetd --parseonly --confdir=/path/to/dir --vardir=/tmp/puppet

which should return "Syntax OK" if all is well. You can also dry run puppet using:

puppetd --test --noop --confdir=/path/to/dir --vardir=/tmp/puppet

It will show you what it is going to change, so you can verify that it is doing what you expect before you let your puppet clients use the new changes you introduced.