Felicity, here, is not a person, it is the ability to find the right expression. It was used in 1955 by John Austin to explain human understanding, in his lecture series at Harvard, published posthumously . Understanding, it goes, is not found in the words said; nor in some intended meaning, which would require knowledge of the unseen mind. Austin modelled it as the reaction to an utterance as a whole. If the speaker said sit down, and the listener sat down, the situation could be seen as felicitous–the right words had been found. The key to machine understanding can also be found in this idea.
This becomes central to machine understanding by the use of social conventions, which dictate the felicity of an utterance. So, if I said, hello and the machine replied hello to you too, then I know that we are conversing and we’re going to get on just fine. But if I said, hello and it replied go away–or even worse, error in line 30-the breaking of this social convention would cause a gut reaction in me: this would be infelicitous. Our relationship is in trouble. It doesn’t mean a positive and negative replies, but positive and negative attitudes.
Software already has a simple analogous system to Felicity in the exception mechanism. While a function can normally return positive and negative values, when an exceptional error occurs, it can raise, or throw, an exception, so as to allow the calling program to proceed appropriately. Enguage explicitly models social conventions in the repertoire of utterances surrounding a concept: what is said and what are the possible replies. These have to be modelled so that the user is certain as to how the software has used the utterance: an unequivocal reply. This leads onto the notion of disambiguation. But that’s another story.
 Austin, J. L., How to do Things With Words, OUP (1962)