Ahh, yup, that sounds exactly like my tech tree code at work. During the mini-machine creation process, I set a "base_machine" flag in each mini machine recipe that is used to locate its origin technology, and to make a new technology that requires that origin tech (after copying and changing some of its properties). But if something went wrong, and the "base_machine" field was invalid or not set, then I had the default "automation" tech as a failsafe, so that it at least wouldn't crash the game.
The technology functions and the mini-machine creation functions are entirely decoupled, and the tech functions just assume that if a certain mini-machine exists, then it should do technology stuff. I think I should be able to change this default "automation" handling, so that it skips the machine instead. Just added them to the micro and mini folders that I shared above
Honestly, the mini machines codebase is in dire need of a rewrite; it's been getting more and more bloated, and the more I work on it, the more I realize how horribly inefficient most of it is, especially when dealing with other mods. Of course, I couldn't have predicted that another mod would want to handle its own mini machines instead, but it's still rather... spaghetti-fied