Maybe we need a way for a system declaration to indicate whether its version adheres to semver or not?
Anyway, the discussion seems to have drifted away from the original question whether versions should be sorted using the semver version modifier schema. That is: 1.0.0-alpha < 1.0.0-beta < 1.0.0-rc1 < 1.0.0-rc2 < 1.0.0
Which is a totally different matter than that ASDF or any other library should be using semver itself or that semver was a bad or a good idea.
My take here is that if someone releases 1.0.0-alpha *and* 1.0.0 then they probably did not intend 1.0.0-alpha to be sorted *after* (as newer than) 1.0.0.