So, if program name contains any of possible statuses (ERROR, RUNNING, STOPPED, etc), systemctl program will work with errors. Such names are unlikely to be used, but may cause a lot of pain to debug this issue. At least some warning should be emitted in such case.
Currently status check is performed by simple grep (https://github.com/ajcrowe/puppet-supervisord/blob/master/manifests/supervisorctl.pp#L25)
So, if program name contains any of possible statuses (ERROR, RUNNING, STOPPED, etc), systemctl program will work with errors. Such names are unlikely to be used, but may cause a lot of pain to debug this issue. At least some warning should be emitted in such case.