How can I tell which words swift will have to guess at pronouncing in a given text file? That is, without actually listening to the whole output. If I could do that, then I could preemptively add to my lexicon.txt for any input, without having to listen to all the wrong guesses.

Example: many foreign names end up "spelled out" by Callie, but I can't tell which among a whole book of them without listening to all the output.

Does the swift engine have a built-in lexicon available which I could use as a standard?

A very good question indeed. All voices do have an internal per-language lexicon since enumeration is the only way of covering non-standard pronunciations. Words that are not in the lexicon are pronounced using the letter-to-sound rules, and that's where things can get weird.

I am not sure whether we can release the internal lexicon since its content could well be a "trade secret". It would allow the competition to know your weaknesses.

All I can promise is to check into it and see how we can possibly remedy this if possible without hurting the company. One solution might be to add the ability to return the words from the input text that are pronounced using the letter-to-sound rules. If that happens to work, we could consider adding it to the list of requested enhancements for a future release.