Bug Fixes in Development Tools
apaku uncovered another bug in the pipe() based IPC implemention. Of course, I had already foreshadowed it. For future reference, if you see a comment somewhere that says "should be enough length", it is not enough length.
Making the read buffer bigger would probably have fixed it, but instead I made the buffer even smaller and made the I/O handle message fragments instead. A nifty exercise is to reduce the 256 in the sysread call to 1 and see if everything still works in pretend mode. :)