7e386561f2
* fix: treat git-describe builds as ahead of latest release The update checker flagged "Update available" for local builds whose version is a git-describe string like v0.79.0-60-g8fae44fb1, even though such a build is 60 commits AHEAD of the v0.79.0 release. parseSemver treated the "-60-g8fae44fb1" suffix as a pre-release of 0.79.0, which sorts below the plain tag, so the comparator reported the build as older than latest. Recognize the git-describe "-<N>-g<hash>[-dirty]" suffix as a commits-ahead marker: such a build now sorts at or above its base tag and above any real pre-release, so an ahead-of-latest build is no longer flagged as update-available. Genuine pre-releases (rc.1, alpha.2) are unaffected. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix: require default-length hash for git-describe detection Tighten the git-describe suffix detector to require the abbreviated commit hash to be at least 7 hex digits (git's default core.abbrev). This prevents a contrived pre-release such as v1.0.0-3-ga from being misclassified as a git-describe "ahead" build. kandev's Makefile runs `git describe` with the default abbreviation, so real builds always meet the floor. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Kandev Agent <agent@kandev.dev> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>