As I understand things, "Master of Sword 5" and "Master of Axe 5" (for example), are considered the same commendation and do not currently stack.
"Master of Sword 5" and "Master of Sword 4" are different commendations, but "Master of Sword 5" removes "Master of Sword 4".
But it neither removes, nor deactivates "Master of Axe 4".
So if you decide to not have them stack, please do it thoroughly and have the highest instance of a soldier bonus deactivate any lesser instances in the same commendation line present.
That's because technically, none of this is true (none of this is actually happening in the background).
The game doesn't compare or consider the commendations in any way. At all.
The game only works with soldier bonuses they provide.
And not only they, but also soldier transformations.
There is currently no concept of "higher" or "highest" soldier bonus.
Soldier bonuses can only be equal or not equal, they cannot be sorted.
To have a hierarchy in soldier bonuses, I would need to design and implement a completely new soldier bonus mechanism.
Then how about only the highest commendation counting?
Same as above.
It's not commendations counting, it's soldier bonuses.
And I don't have any way of deciding, which is "the highest".
STR_BONUS_1 and STR_BONUS_2 may seem comparable to humans (visually it's obvious isn't it), but the game doesn't have any numeric parameter to compare them by.
Or even a parameter to say which ones belong to the same group and should even be compared (or not).
If a soldier transformation called "Convert to MEC" gives you "STR_BONUS_1" and a commendation called "Jedi" gives you "STR_BONUS_2", should they stack? or not? is "Jedi" commendation higher than "MEC" transformation?