Espionage is now mostly working. You can assign spies to commit espionage and they will eventually steal technology for you. There are still a couple of things to add before it’s officially done, but the core logic works now. Below is a screenshot of a Bulrathi spy stealing from a Meklar laboratory.
I still need to add a UI allowing the player to choose which technology category he wants to steal from (currently randomized) as well as notifications to the player when he catches the AI stealing from him.