What I'm saying is that you could just integrate some tooling which would detect when changes are or are not made in a compatible way, instead of relying on the human making a correct annotation.
It's a workflow problem, things are done the wrong way around.
Which is exactly what cargo-semver-checks does.
Like, the first line of the README after the name is "Lint your crate API changes for semver violations." - it quite specifically works with the actual crate API, not commit names, comments or any other human annotation.
It also will show you what broke semver and how, so you can fix it easily. And as the author stated, the goal is to suggest the correct version in the future.
Verifying that a semver change is correct is not the same as automatically generating the semver.
It's literally P vs NP.