I disagree with your position on assertions and much prefer Bryan Cantrill's, because it results in bugs actually getting fixed:
Hope is not a strategy, including for your
software. If your state has become corrupt,
it is incumbent upon you to die and donate
your body to science, where it can be
debugged.
Well, yes, in that case you should die, but take steps to make sure that your state doesn't become corrupt in the first place. Like, for instance, doing less, and making your service less complex.