You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(install): version-pattern fragility flagged by Gemini on PR #19 (#20)
Gemini Code Assist correctly noted that the case statement introduced in
PR #19 still uses literal-dot + single-digit [1-9] patterns, which fail
on multi-digit components like 2.0.10.0, 2.10.0.0, 100.0.0. A future
v2.0.10.0 install at the legacy path would fall through both arms and
produce a false-positive "not a recognized install" warning.
Replace the skip arm with multi-digit-safe patterns:
2.0.[1-9]*|2.[1-9]*|[3-9]*|1[0-9]*
Refinement vs Gemini's exact suggestion: 1[0-9]* (no literal dot) instead
of 1[0-9].* — covers 100.0.0 too, no false positives since the legacy
arm matches `1.*` not `1[0-9]`.
Mirrored in bin/idstack-doctor and setup.
Adds test/test-version-classifier.sh — pins the case statement against
20 representative versions (legacy + modern + multi-digit). Wired into
smoke-test.sh. This is the second time Gemini caught a version-pattern
bug in this code path; the test stops the third.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments