So, as we concluded changing the AI or their advantages isn't going to be the correct solution for the "all offense not using garrisons" early game problem, we should discuss the actions to take here.
I believe we specifically need to address this problem for the early game - in the late game, either Plane Shift and the massive hordes of units works well enough at forcing the player to defend cities, or the player is fighting against an enemy where defending is not viable anyway (Chaos).
So I would draw the line between the uncommon and rare phases, around 1412. After that the AI definitely has enough stacks that undefended cities are no longer viable, or if the human has beaten the Arcanus opponent already, then it becomes a tower blocking/plane shift issue which I believe we discussed enough and are happy with the current solution. The only "loophole" I see is the AI not researching Plane Shift in reaction to breaching towers early, so tower blocking is still doable, for a limited amount of time, rewarding those who clear out Arcanus very quickly (and likely have enough economy to crush the Myrran wizard regardless).
So we need to discuss the following features :
1. Guardian
I think this is working as intended - it requires garrisons to be effective and is a fairly powerful effect, while the AI will pick it more often on Lunatic difficulty. Unfortunately at a 2 pick cost it is still a marginal influence as we can't afford forcing it on the AI for lower difficulties where they don't have extra picks.
2. Wall of Fire
This acts as a very powerful deterring factor against offensive play, while also requiring units to be effective as a defensive measure...in theory.
In practice, it's way too easy to get around it.
Ranged attacks are obvious, but ranged units are generally not that great to use for offense, so that's acceptable - ranged attackers only work if the defenders are not ranged.
Flying also works, but flying is a higher tier, so getting it will usually mean a significant delay. The only early unit that is a decent flying melee creature is Gargoyles, and I don't think we need to worry about that conquering the entire world on Lunatic. They are good, but not that good.
Where I do see problems is, two common spells, Bless and Resist Elements both add enough defense to counter wall of fire - almost entirely on higher defense melee units, and somewhat on lower defense ones. I'm not sure what can be done about that, unless we rebrand the spell to not do Chaos damage, even then Resist Elements will apply to it. The other options are raising the attack strength which might be excessive (I'm already burning away entire stacks of AI creatures with it easily) or making it armor piercing (bad for flavor, Lighting attacks should have that trait, not fire). So I don't know what to do for this but it seems a problem.
Finally, Fire Immunity, is generally not available in the early game, and the units that do have it are not powerful enough to be a game balance threat, and aren't even melee in most cases.
Oh, and Noncoroporeal doesn't protect from this spell, so that's already covered.
3. Heavenly Light
I think this already offers a fairly good boost, especially now that it applies to ranged. One interesting way to improve it that becomes obsolete later is adding "and they gain magical weapons" to the effect, which makes garrisons with normal weapons effective, saving the price of an Alchemist Guild and putting a gap in resource cost between the same unit used for defense vs offense. Unfortunately, most offense strategies pick Alchemy and don't care.
4. City Walls
This unfortunately won't be helpful, even if buffed. Extra armor won't help defending ranged units, while melee units are vulnerable to ranged and need to go outside to fight. So the wall is not particularly relevant for both of those cases - it only matters if both the attacker and the defender (at least in the gate) uses melee units. Unfortunate, as encouraging using the slow, but reasonably cheap to build and powerful Catapults would be nice, although the most offense oriented races can't even build any. Odd, as this makes it a purely defensive unit while in most games it tends to be one for siege.
5. Wall of Shadows
A highly situational spell, that is absolutely devastating if the attacker uses ranged units. Unfortunately countered by the also uncommon True Sight and illusion immunity in general (Shadow Demons), but as those are fairly expensive, I feel it's not an issue. If ranged units are involved, this will do the job of slowing the attacker down.
6. Rampaging monsters and Raiders
Spawning more of these, earlier, and as stronger stacks, can and should help forcing the player on defense. We probably also need to make sure they avoid spawning on AI continents or at least do so much less frequently.
Altering the odds of the monsters razing the city vs only damaging it is another thing we should consider.
Currently, for Lunatic difficulty :
-Rampaging Monsters spawn every 4-20 turns (overall, not per plane), Can't spawn before turn 40, and have a 3-5x multiplier around the base amount, which is the turn count. Strength is halved if the location is on the AI's fortress continent, with no player fortress and Monsters Gone Wild is off. There is a 2/3 chance the spawn happens on the human player's starting plane, 1/3 on the other one.
-Raiders spawn once every 5-30 turns, have a 4x quantity multiplier, and the quantity scales up based on turns. Units generated don't have a budget, only a quantity from 1 to 9, and are of whichever unit is in the garrison of the neutral city, so it might as well be pretty powerful units. I believe we made sure neutrals at least don't start with armorer's guild tier units, but units like priests, halberdiers, or equivalent can be expected. Quantity is decreased by 1/3 if an AI fortress is present on the continent.
-At movement, both of them prioritize the closest city, with the fewest defending units, with a small bias towards the human player starting at Advanced, and increasing once at Master difficulty. The bias of +7 on Lunatic is equivalent to a distance difference of 7 tiles, or unit count of 3.5 units. Basically they pick the target where (2*unit count+distance) is lowest, and subtract 7 for the human.
The frequency of both of these definitely needs to be massively increased, and should be made more consistent (4-7 turns is ok, 4-20 isn't!).
The budget on monsters starts horribly low - On turn 40 we get a budget of 120-200 for Lunatic which buys...3 to 5 hell hounds, or a single uncommon creature.
Turn 40 itself is probably too late - 25 or 30 might be more reasonable.
We probably shouldn't mess with the quantity of raiders in a stack due to them being potentially higher tier units. We probably want to alter the rule about the AI fortresses to make them spawn less frequently there, if and only if a human fortress isn't present.
I believe we specifically need to address this problem for the early game - in the late game, either Plane Shift and the massive hordes of units works well enough at forcing the player to defend cities, or the player is fighting against an enemy where defending is not viable anyway (Chaos).
So I would draw the line between the uncommon and rare phases, around 1412. After that the AI definitely has enough stacks that undefended cities are no longer viable, or if the human has beaten the Arcanus opponent already, then it becomes a tower blocking/plane shift issue which I believe we discussed enough and are happy with the current solution. The only "loophole" I see is the AI not researching Plane Shift in reaction to breaching towers early, so tower blocking is still doable, for a limited amount of time, rewarding those who clear out Arcanus very quickly (and likely have enough economy to crush the Myrran wizard regardless).
So we need to discuss the following features :
1. Guardian
I think this is working as intended - it requires garrisons to be effective and is a fairly powerful effect, while the AI will pick it more often on Lunatic difficulty. Unfortunately at a 2 pick cost it is still a marginal influence as we can't afford forcing it on the AI for lower difficulties where they don't have extra picks.
2. Wall of Fire
This acts as a very powerful deterring factor against offensive play, while also requiring units to be effective as a defensive measure...in theory.
In practice, it's way too easy to get around it.
Ranged attacks are obvious, but ranged units are generally not that great to use for offense, so that's acceptable - ranged attackers only work if the defenders are not ranged.
Flying also works, but flying is a higher tier, so getting it will usually mean a significant delay. The only early unit that is a decent flying melee creature is Gargoyles, and I don't think we need to worry about that conquering the entire world on Lunatic. They are good, but not that good.
Where I do see problems is, two common spells, Bless and Resist Elements both add enough defense to counter wall of fire - almost entirely on higher defense melee units, and somewhat on lower defense ones. I'm not sure what can be done about that, unless we rebrand the spell to not do Chaos damage, even then Resist Elements will apply to it. The other options are raising the attack strength which might be excessive (I'm already burning away entire stacks of AI creatures with it easily) or making it armor piercing (bad for flavor, Lighting attacks should have that trait, not fire). So I don't know what to do for this but it seems a problem.
Finally, Fire Immunity, is generally not available in the early game, and the units that do have it are not powerful enough to be a game balance threat, and aren't even melee in most cases.
Oh, and Noncoroporeal doesn't protect from this spell, so that's already covered.
3. Heavenly Light
I think this already offers a fairly good boost, especially now that it applies to ranged. One interesting way to improve it that becomes obsolete later is adding "and they gain magical weapons" to the effect, which makes garrisons with normal weapons effective, saving the price of an Alchemist Guild and putting a gap in resource cost between the same unit used for defense vs offense. Unfortunately, most offense strategies pick Alchemy and don't care.
4. City Walls
This unfortunately won't be helpful, even if buffed. Extra armor won't help defending ranged units, while melee units are vulnerable to ranged and need to go outside to fight. So the wall is not particularly relevant for both of those cases - it only matters if both the attacker and the defender (at least in the gate) uses melee units. Unfortunate, as encouraging using the slow, but reasonably cheap to build and powerful Catapults would be nice, although the most offense oriented races can't even build any. Odd, as this makes it a purely defensive unit while in most games it tends to be one for siege.
5. Wall of Shadows
A highly situational spell, that is absolutely devastating if the attacker uses ranged units. Unfortunately countered by the also uncommon True Sight and illusion immunity in general (Shadow Demons), but as those are fairly expensive, I feel it's not an issue. If ranged units are involved, this will do the job of slowing the attacker down.
6. Rampaging monsters and Raiders
Spawning more of these, earlier, and as stronger stacks, can and should help forcing the player on defense. We probably also need to make sure they avoid spawning on AI continents or at least do so much less frequently.
Altering the odds of the monsters razing the city vs only damaging it is another thing we should consider.
Currently, for Lunatic difficulty :
-Rampaging Monsters spawn every 4-20 turns (overall, not per plane), Can't spawn before turn 40, and have a 3-5x multiplier around the base amount, which is the turn count. Strength is halved if the location is on the AI's fortress continent, with no player fortress and Monsters Gone Wild is off. There is a 2/3 chance the spawn happens on the human player's starting plane, 1/3 on the other one.
-Raiders spawn once every 5-30 turns, have a 4x quantity multiplier, and the quantity scales up based on turns. Units generated don't have a budget, only a quantity from 1 to 9, and are of whichever unit is in the garrison of the neutral city, so it might as well be pretty powerful units. I believe we made sure neutrals at least don't start with armorer's guild tier units, but units like priests, halberdiers, or equivalent can be expected. Quantity is decreased by 1/3 if an AI fortress is present on the continent.
-At movement, both of them prioritize the closest city, with the fewest defending units, with a small bias towards the human player starting at Advanced, and increasing once at Master difficulty. The bias of +7 on Lunatic is equivalent to a distance difference of 7 tiles, or unit count of 3.5 units. Basically they pick the target where (2*unit count+distance) is lowest, and subtract 7 for the human.
The frequency of both of these definitely needs to be massively increased, and should be made more consistent (4-7 turns is ok, 4-20 isn't!).
The budget on monsters starts horribly low - On turn 40 we get a budget of 120-200 for Lunatic which buys...3 to 5 hell hounds, or a single uncommon creature.
Turn 40 itself is probably too late - 25 or 30 might be more reasonable.
We probably shouldn't mess with the quantity of raiders in a stack due to them being potentially higher tier units. We probably want to alter the rule about the AI fortresses to make them spawn less frequently there, if and only if a human fortress isn't present.