Now the trick here is you need a reliable program to transfer files over serial. That would generally be Kermit from Columbia University. Except there's a chicken and egg problem here, as you need Kermit on the Osborne to get Kermit to the Osborne.
Fortunately, I found a description of how to solve this dilemma online. CPM comes with a program called PIP (Peripheral Interchange program). It allows copying data from the serial port into a file.
PIP, while useful, is also pretty dumb. PIP reads bytes (uncorrected) into memory, and when the buffer is full, writes to buffer to diskette (or diskette emulator as in my case). However, if the transfer is larger than the memory area that PIP uses, then it writes the full buffer to the diskette, and PIP loses any incoming data while doing that, corrupting anything you send larger than the size of that memory buffer.
Reading the Toni Westbrook article online (see image), I learned you could successfully transfer an ASCII Hex dump of Kermit to the Osborne in parts, then append the parts together, load the resulting file into the debugger, and then write the full Kermit executable out to the diskette (or my case emulated diskette)
It's a lot of fiddling around, but once you have Kermit on the Osborne, then future transfers are super easy without all these arduous steps. The most challenging aspect is reassembling the ASCII hex files on the Osborne. PIP can concatenate files which is half the battle; however, the individual files always end up with blank lines in them. These must be removed before loading into the debugger as the debugger is not very smart. The only way to do that on the Osborne is using the ED.COM editor.
The CPM editor ED.COM was designed to be used on teletypes, so its use could not be more foreign and laborious. In the end, I only needed to delete three blank lines from the file I concatenated all the parts into in the combined file, but it took me several hours to get it done. After that, the rest of the process went smoothly, (although my debugger addresses were different than Toni’s) and much to my surprise, I ended up with a fully functional Kermit executable on a disk image I could use going forward.