I'd love to hear more about this. What exactly stopping you (or, more precisely, your company) to configure your email sending library and nagios through cfengine, and generate docs from cfengine scripts? (XML is supposed to help with that.)
Also, I don't see the issue with nagios asking apps "you still breathing?". And why does a library know about IPs (if it's strictly a library)?
You raised many interesting points.
For example, email. Our email sending library requires various references to internal ips, external ips, and/or domains it can send to/from/through. Then our cfengine files have the same exact references in multiple locations: sendmail settings, dns settings, and network settings. Then our nagios alert system, again, has references to many of them. Oh, then we need to have a wiki for human readable format rather than having to dig through these scripts. And that's just for email. Nevermind databases, caches, app servers, etc.
We have health checks within custom developed applications for failover, and Nagios health checks. Sometimes Nagios will rely on the app health checks, but the app never relies on ops related monitoring. It just seems like there's quite a bit of effort being wasted here as we're doing the same thing twice in two different places.
The frustrating part is when I change one, I have to go through and change them all. It seems like there could be a much better system than this. I would imagine many come up with custom scripts for all of this, but there has to be a better way.