I've taken down the bot temporarily to give it a fresh install of the OS and programs. Apparently I've been undervoltaging the Pi and that was randomly wrecking bits of ... well, everything. Thankfully all the code is backed up, so there'll be a minimum of rewriting while it's down.