Installer: a successful git clone no longer looks like a crash, and GM_VERSION can't ship stale - #2
Merged
Conversation
…, guard GM_VERSION `& git clone ... 2>&1 | Out-Host` — git writes its normal "Cloning into..." progress to stderr, and PS 5.1 wraps every redirected stderr line in a NativeCommandError. A clone that succeeded read as a failure. The redirect IS the problem; success is decided by $LASTEXITCODE. GM_VERSION, the constant naming a version of a DIFFERENT repo, sat at 1.1.2 while Gray Matter shipped 1.4.0 — three releases of silent drift, and the tag-not-found fallback never fires because v1.1.2 exists. A user without a local GM got a two-versions-old gateway paired with a current Neuron: the same venv skew that pip check now reports on the GM side. Bumped, and release.yml gates on it: the tag job compares the constant in both launchers against gray-matter's latest release tag and fails the release on drift, so this cannot ship stale again by forgetting. Both installers also pass constraints.txt now. The file's own comment claimed "install.ps1 passes this automatically when present" — nothing did. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two installer bugs found while chasing a tester's failed install, plus the CI guard that stops one of them recurring.
A successful
git cloneread as a failuregit writes its normal
Cloning into '...'progress to stderr, and PS 5.1 wraps every redirected stderr line in aNativeCommandError. The tester's log showed a full PowerShell error block on a clone that had actually worked. The redirect is the problem — success is decided by$LASTEXITCODE, so it's simply gone.GM_VERSION had drifted three releases
The constant names a version of a different repo and nothing kept it in sync: it sat at
1.1.2while Gray Matter shipped1.4.0. The tag-not-found fallback never fires, becausev1.1.2does exist — so a user without a local GM got a two-versions-old gateway paired with a current Neuron. That is the same venv skew thepip checkon the GM side now reports.Bumped to 1.4.0, and
release.ymlnow gates on it: thetestjob compares the constant in both launchers against gray-matter's latest release tag and fails the release on drift.constraints.txtwas never actually passedIts own header claims "install.ps1 passes this automatically when present." Nothing did. Both launchers pass it now, which is what caps
mcpat<2on the standalone path.Verification
install.ps1parses;install.shandinstall.commandpassbash -nsedin it silently matched nothing — caught and fixed)🤖 Generated with Claude Code