Yes, probably something else altogether. I'm guessing there must be another condition or two besides this one.
Perhaps "You've grown too powerful for us" (
DENIAL_POWER_YOU). That would also explain why I'm not really encountering these problems with breakaway vassals – I've disabled that condition long ago. I did so actually because it bothered me that civs refused to become my vassal when I was close to Domination (why prolong the inevitable?), but it seems that "grown too powerful" can also cause vassals to cancel the agreement. Though that should also be the case in unmodded BtS. Of course, if I had a K-Mod savegame where a vassal is about to break free, I could check in the debugger what the cause is. Come to think of it, it would really be nice if the AI told the player, at least in vague terms, why it's canceling the vassal agreement. Displaying the denial message in the AI's diplo comment is easy enough to implement (see attached screenshot).
Even this condition doesn't quite make sense now, does it? When a peacevassal breaks free they are essentially daring the master into declaring war on them. Which is why some element of the power differential between the master and the vassal should be considered, not just the average power (which can easily be skewed by one city capitulated vassals on larger maps).
Actually, BBAI (and thus K-Mod) doesn't count capitulated vassals in this context (comment in the code: "Count capitulated vassals as a fractional add to their master's power"). I don't think the vassal should take it as given that the master will (eventually) attack if the vassal breaks free, but I agree that it's a possibility that the vassal should consider. Perhaps simply let the "grown too powerful" condition (master close to Domination)
block vassals from breaking away.
Regarding suggestion 2, I've just implemented that, as
@Cruiser76 had suggested something similar
a while ago. So if anyone wants to experiment with that,
this Git commit of mine could be helpful. As for the Gold/Gem starts, I've partly addressed that by adding a
BONUSCLASS_PRECIOUS for Gold, Silver and Gems and changing to the map generator so that these precious resources aren't placed close together (or only very rarely). Tying the commerce to a tech also sounds good; though Currency is already very powerful. Perhaps the Market building? Though a building that increases resource commerce would be a novel thing. Either way, it is, as you say, a slightly radical change, which I also don't like so much about my own spent-movement change; though, in that case, I see no satisfactory low-key solution.