Repository navigation
docs(skills): document the v1 release procedure and advisory-fork merge constraints - #2785
Merged
Merged
Conversation
…ge constraints (#2755) Expand the release skill's "The v1 line" section into a procedure: the hand-edited bump on v1/main (four package.json versions, three inspector-* ranges, eight lockfile fields; not update-version), bump-merges-last, the bare-tag --latest=false Release, what v1's CI publishes, how to verify the dist-tags, and neutral notes for unpublished advisories. Record in security-advisory step 5 what 1.0.3 taught about merging from a private fork: required Actions checks never report there, an advisory merges all its PRs at once, and chained fix branches need a merge commit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: cliffhall <cliff@futurescale.com>
There was a problem hiding this comment.
🟡 Changes recommended
Two verification instructions need correction: an unsupported GitHub CLI JSON field and a clean-worktree expectation immediately after uncommitted edits.
2 open issues
What changed in this PR
Documents the v1 release procedure and private advisory-fork merge constraints, addressing the gaps encountered while releasing 1.0.3.
Changes:
- Adds v1 version-bump, merge-order, publishing, verification, and release-note steps.
- Records required-check limitations, temporary ruleset changes, and stacked-branch merge requirements for advisory forks.
| File | Description |
|---|---|
.claude/skills/security-advisory/SKILL.md |
Documents private-fork merge constraints and protection-restoration safeguards. |
.claude/skills/release/SKILL.md |
Expands the v1 release outline into a six-step procedure. |
Review effort: Balanced
Compare the lockfile before and after npm ci rather than requiring a clean worktree the uncommitted bump makes dirty, and read isLatest from gh release list, since gh release view has no such field. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: cliffhall <cliff@futurescale.com>
Member
Author
|
Copilot round 1: both findings fixed in 17d82da.
|
Member
Author
|
Copilot review closed: round 2 came back clean (no inline comments, nothing suppressed), with both round-1 findings marked resolved. |
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.

Closes #2755
The release skill's "The v1 line" section was four sentences with no steps, so cutting 1.0.3 (#2753) meant reconstructing the procedure, and the first attempt got the tag and the Latest flag wrong. This turns it into a procedure and records what that release taught about merging from advisory forks.
releaseskill: "The v1 line"v1/main(v1+chore, board get tools working #11, no milestone). Edit the fourpackage.jsonversions, the threeinspector-*ranges and the 8 lockfile fields by hand, not withupdate-version, whose trailingnpm installre-resolves the tree (v1: release 1.0.2 with the pending security and audit fixes #2080). Thennpm run check-version, andnpm cimust leave the lockfile clean.gh release create X.Y.Z --target v1/main --title X.Y.Z --latest=false. The tag is bare (thev1 release tagsruleset coversrefs/tags/1.*), and the release must not take the Latest badge from v2.build, thenpublish(OIDC trusted publishing,publish-all→--tag v1-latest) andpublish-github-container-registry.v1-latestis on the new version,latestis still v2, andisLatestis false.security-advisoryskill, step 5: "Merging from the private fork"DCO/buildchecks stay "Expected". The fix is to remove only therequired_status_checksrule for the merge and then restore it from a snapshot. That is an admin act, so the skill says to get the maintainer's go-ahead first.I checked every fact against
origin/v1/mainand the live repo: the package and lockfile fields, theupdate-versionscript,v1/main's workflow jobs, the1.*tag ruleset, the requiredbuildcheck, andisLatest: falseon 1.0.0–1.0.3.releasestaysdisable-model-invocation: true. No description changed, so the listing budget stays at 3907/4000.verify:skillsandlocal:gatepass.🤖 Generated with Claude Code