It sounds like a solution to the problem, in the same sense that a problem with not being able to get a model airplane to fly can be solved by deciding you really wanted to build a model train instead.
Brutal...for a sim game that's a pretty damning take on things.
Not meant to be entirely damning. After a couple years of trying unsuccessfully to get the plane to fly, I don't think he really had a choice other than scrap it and go for the train.
The tag-based system where modifiers and events and so forth grew "organically" out of AI interactions with and interpretations of the various tags is gone. There is a stricter "type system" (no relation to variable type systems in coding) that is more rules-based now. Josh stopped talking before I could get out of him the entirety of what this means, but from what I understand, the AIs now "decide" much less organically and instead select from a menu of options based on the relevant skills, traits, modifiers, etc. that apply to the current situation. A king making a decision on how to respond to an invasion will have a standard menu of political and military responses, but a king of a magical nation may have additional Ritual responses, a king suffering from a Madness modifier would have "mad" responses, etc.
Josh was vague about this, but I think before the AIs had no restrictions on what they could do (obviously the various systems made some responses far more likely than others, but theoretically anything was possible). Instead of a fixed menu of "mad" options, a king with Madness would try to cobble together a response that included, potentially, anything at all in the game data with the Madness tag. The interaction of many unbounded AIs (and the fact that everything in the game was potentially available to be used in ANY interaction whatsoever) over many turns ensured that eventually some subset of the AIs would get into a mutual positive feedback loop, leading to progressively weirder behavior of the AIs and eventually of the game engine itself, leading to crashing.
The part I left out before was the extreme difficulty of programmatically trying to figure out which few out of a thousand independent and somewhat nondeterministic AI entities are at risk of developing feedback and diverting them from that path without having negative effects on their "competence" or the game's overall stability. There are ways of dealing with such things - feedback issues arise all the time in certain areas of electrical engineering (an audio amplifier is an example of carefully-controlled positive feedback), for example - but I'm not sure that knowledge is widespread in the coding community, and the calculations required to handle a thousand simultaneous entities would be considered a massive undertaking. Josh did try some of the simpler "clamping" methods, wherein a value growing unboundedly is clamped at an arbitrary maximum, but this had severe side effects on the AI - it often would just stop "thinking" (probably because the additional constraint imposed by the clamping gave the AI's scorer no acceptable solution to its model of the problem) - and given the sheer number of entities, he may not have been able to find a more complex solution that still had acceptable performance (remember, the player is waiting for his/her next turn while all this AI work is going on - more than a few seconds and it's taking too long).
But if you instead say that an AI faced with an invasion event can only take one of X predefined actions, with the details of those actions perhaps altered (in well-defined ways) by local modifiers and other situational effects, then you greatly minimize the chance that the AI will fly off the rails because you actually have rails to begin with. And then other AIs looking at the invaded AI can go "Aha! I know he's being invaded, and he's heavy into Lore, so he'll respond in one of 12 standard or 4 lore-based ways." Now, if this other AI knows about local modifiers, than he can factor that into his calculations. If he doesn't, then he assumes the "standard" actions...and his plan might go awry depending on how close the "standard" action corresponds to the reality of the situation.
I think if it was well-implemented, and the pool of available actions and modifiers is sufficiently large to ensure a wide variety of potential results, our model train might still be able to fly a little bit from point to point. It won't have the unrestrained freedom that the plane might have had (and we might not get the hilarious edge-case stories like the Hero with Forty Marriages), but then again, it might not crash and burn constantly, either.
No way to tell, of course, unless/until we can get our hands on the game...