Repository navigation
chore: prepare 1.5.0 release candidate - #365
Merged
Merged
Conversation
v1.4.0 is tagged, released, and on npm, so a Release dispatch from main with package version 1.4.0 fails at the tag step. New features since v1.4.0 make the next release a minor version. The receipts for candidate cab24a7 were recorded as package 1.4.0; a version-only change keeps them valid, so HOST-MATRIX.md now names 1.5.0 and says where the receipts are. Co-Authored-By: Claude Opus 5.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.
Intent
The Release workflow run 37684286260 failed at the step 'Create release tag' with 'tag v1.4.0 points to another commit'. Cause: package.json on main still had version 1.4.0, but v1.4.0 is already tagged (7a77292), has a GitHub Release, and is on npm, so main could not be released again as 1.4.0. The owner chose 1.5.0 as the next version (minor, because there are new features since v1.4.0). This branch prepares that candidate with the repository helper 'npm run release:bump -- --bump minor': only the version fields in package.json and package-lock.json change. Deliberate decisions: (1) The seven host receipts for frozen candidate cab24a7 stay in docs/trust-validation/evidence/releases/1.4.0/. They are bound to package version 1.4.0 (directory name and install package_version), so they must not be moved or rewritten; RELEASE.md says a version-only change does not invalidate live evidence, and 'python3 -B scripts/check_trust_evidence.py --repo .' passes on this commit with all seven hosts reused and no required runs. (2) docs/trust-validation/HOST-MATRIX.md is changed to say that release 1.5.0 uses candidate cab24a7, where its receipts are, and that the published 1.4.0 used candidate 6d3e38e. (3) CHANGELOG.md and the README release block are NOT edited here, because the Release workflow generates and overwrites the 1.5.0 entry at publication. (4) No tag, no npm publish, and no Release dispatch are part of this change; the owner does those after merge. Do not credit AI in the PR title or body.
What Changed
package.jsonand in the two version fields ofpackage-lock.json. No other package field changes.docs/trust-validation/HOST-MATRIX.mdto say that release 1.5.0 uses frozen candidatecab24a78d31ba41d9d1b357dd72aeae00775ef2d, that its receipts were recorded as package 1.4.0 and stay inevidence/releases/1.4.0/, and that a version-only change does not invalidate them.6d3e38ed525831217cf7d4790674feebd8afc75fand that tagv1.4.0has its receipts. The reference to the failed Release run 37660774035 is removed.Risk Assessment
✅ Low: The change is a version-field bump in package.json and package-lock.json plus one HOST-MATRIX.md paragraph whose claims agree with git history and with a passing trust-evidence check; the only open item is a wording mismatch in TRUST-EVIDENCE.md.
Testing
No baseline commands ran before this step. I drove six scenarios live: the trust-evidence check, a packed-tarball install and doctor run in an isolated prefix and HOME, a re-run of the bump helper on the base commit compared with the target commit, the release workflow's version and tag guard logic against the real remote tags, a check of the HOST-MATRIX claims against the receipts at tag v1.4.0 and at HEAD, and a check that CHANGELOG, README, and the receipts are unchanged. All six passed. The actual Release workflow dispatch, tag creation, and npm publish were not run, because the intent reserves them for the owner after merge. The change has no UI surface, so there is no screenshot; evidence is CLI transcripts. The worktree is clean.
npm run release:bump -- --bump minoron the base commit changes only package.json and package-lock.json and gives the same files as the target commitEvidence: Trust-evidence check on the 1.5.0 commit
Evidence: Packed 1.5.0 install and doctor transcript
opengsd-gsd-path-1.5.0.tgz ✦ GSD Path installer v1.5.0 ✓ claude: installed 16 skills to <tmp>/skills skills/gsd-path/VERSION: 1.5.0 skills/path/VERSION: 1.5.0 ✓ claude: 16 skills at <tmp>/skills (v1.5.0) Healthy.Evidence: Bump helper reproduction from base commit
$ npm run release:bump -- --bump minor 1.5.0 M package-lock.json M package.json package.json: identical to target commit package-lock.json: identical to target commitEvidence: Release tag guard: v1.4.0 fails, v1.5.0 is free
version=1.5.0 tag=v1.5.0 TAG=v1.4.0 -> tag v1.4.0 points to another commit (exit 1) TAG=v1.5.0 -> tag absent; step would create it (not created here) npm versions: ["1.0.0","1.1.0","1.2.0","1.3.0","1.3.1","1.4.0"]Evidence: HOST-MATRIX claims checked against receipts; CHANGELOG, README, receipts untouched
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
docs/trust-validation/TRUST-EVIDENCE.md:3- HOST-MATRIX.md now says release 1.5.0 uses candidate cab24a7, but TRUST-EVIDENCE.md still calls the same evidence the "1.4.0 candidate" (line 3: "Current release evidence: [1.4.0 candidate]", and the section heading at line 313: "Release evidence (2026-10-07 — 1.4.0)"). A reader who goes from HOST-MATRIX.md to TRUST-EVIDENCE.md sees two release numbers for one candidate. The intent names only HOST-MATRIX.md for this wording change, so this edit is outside the stated scope and needs the owner's decision. Possible remedy: one sentence at line 3 that says the cab24a7 receipts were recorded as package 1.4.0 and are reused for release 1.5.0. Do not rename the heading: line 3 links to its anchor.package.json:3- Commit d089f66 has the trailer "Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>". The intent forbids AI credit only in the PR title and body, so the commit does not contradict it. But a single-commit PR body is often filled from the commit message. The PR step must write the body without this trailer.✅ **Test** - passed
✅ No issues found.
npm run release:bump -- --bump minoron the base commit changes only package.json and package-lock.json and gives the same files as the target commitpython3 -B scripts/check_trust_evidence.py --repo .npm pack --pack-destination <tmp>thennpm install <tmp>/opengsd-gsd-path-1.5.0.tgzin an isolated prefixHOME=<tmp> gsd-path --claude --claude-root <tmp>/skillsand read the VERSION stamps it wroteHOME=<tmp> gsd-path --doctor --claude --claude-root <tmp>/skillsgit archive dc5ab65c | tar -xinto a temp repo tagged v1.4.0, thennpm run release:bump -- --bump minor, thendiffof package.json and package-lock.json againstd089f66fgit ls-remote --tags originfor v1.4.0 and v1.5.0release.ymlResolve release versionandCreate release tagguard logic run read-only against a fresh clone with the remote tags, for TAG=v1.4.0 and TAG=v1.5.0npm view @opengsd/gsd-path versions --jsongit grep -l <candidate sha>ondocs/trust-validation/evidence/releases/1.4.0at7a772927and atHEADgit diff --stat dc5ab65c d089f66f -- CHANGELOG.md README.md docs/trust-validation/evidence✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.