Net effect: many people using SemVer don’t follow it strictly[1], undermining the value of having a spec in the first place.
[1] If everyone followed SemVer strictly, you’d see a lot more code at version 18.y.z. If you’ve ever released code with ANY breaking change without bumping your major version number, you’ve violated the spec and potentially surprised someone with a breaking change that they weren’t expecting.
You’ll need to use your judgement in some cases, but always err on the conservative side. BreakVer’s value comes from the reliability of its <non-breaking> semantics.
Is there a non-trivial likelihood of even approximately reasonable code being broken by the change? If yes, then a <non-breaking> bump is disallowed.