This morning I had the idea for the following loose definition. A discourse* 'semantically complete' when any competent user of the language can understand it, simply in virtue of understanding the language.
But this of course won't do. I had meant to eliminate proper names, because understanding the language is not a requirement for understanding them. But who is to say that the process of learning new proper names (or new meanings for the same proper name) is not also a process of understanding the language? I need a criterion for 'understanding the language' that rules out proper names, but I don't have one.
Is it that a certain perceptual acquaintance, or some relation with the external world is necessary in order to learn a proper name? Well perhaps, but that doesn't distinguish them from common names, because to learn the meaning of certain basic terms like 'red', 'round' and so on, we have to be acquainted with external reality.
*Discourse - a sentences or any group of sentences.