We run puppet every 30sec (by default in cm?) and we check status every 10sec (monit). If all is good we are able to detect? If no (puppet is running) then in current implementation the puppet will be restarted after 1h :)?