Hi Nate,
Thanks for the welcome! The "extra sauce" that cwdaemon provided was a way to extract the messages being sent by tlf. To be clear, when you configure a key in tlf to send out their callsign and your RST, the string that gets sent to cwdaemon is the exact text entered by the operator, so you get a callsign and the exchange as sent (as-if it was going to be turned into Morse code).
I extract that message and use it to generate appropriate voice signals.
Keying of the radio for me is currently achieved by VOX, triggered by the audio sent to the radio.
I have no issue with using hamlib, but I didn't explore to see if there was actual message text being sent to hamlib that is intended to be Morse.
As for the unhealthy obsession, I've been at this since the 6502 :-) Amateur Radio was supposed to be a way to do technical stuff away from computing. Little did I know a decade ago that the two are on an increasingly narrowing road on the way to the horizon!
73 de Onno VK6FLAB