Can you back that claim with documentation?
Also, either CPAN::Meta::Check is wrong, or the specification is wrong.
Which one is to be fixed?
And inline with this assertion: "the version indicates the last version at which that module is problematic"
Is that assertion applicable to , or indepdendent of, version ranges?
Obviously " <=5.00 == 6.00" is *not* indicating the "last version the module is probelmatic at".
Nor is ">=5.00", that is a clear indication that the release does not work at version 5.00, *or any successive release*
And in every other dependency atom,
"5.00" infers ">= 5.00"
And that is how it is implemented in the plumbing that makes CPAN::Meta::Check work.
To simplify, the mechanics are two parts:
conflicts: FOO
defines an arbitrary version range, and the left hand side does not change the semantics of the version range ( at least, if it does, or is supposed to, I can't find any documentation that backs that claim )
In version ranges, a number on its own is shorthand for ">= X.YY"
https://metacpan.org/pod/CPAN::Meta::Spec#Version-Ranges
There is nothing there about it being special cased to mean "<=" in conflicts.
And because the checking logic is simply:
1. Load module
2. end if module does not exist
3. end if module is NOT in the version range
4. if the module is in the version range, give failure
https://metacpan.org/source/LEONT/CPAN-Meta-Check-0.008/lib/CPAN/Meta/Check.pm#L29
Those two compounding effects means:
{ conflicts: "5.00" } == { conflicts: ">= 5.00" }
Just as
{ requires: "5.00" } == { requires: ">= 5.00" }
I know, my instinct was the other way around too. But its not how its implemented.