create-beta-tag
Create a Beta Tag
Require an explicit stable base version in <major>.<minor>[.<patch>] form;
treat two components as patch 0. Do not infer it from the branch or package
metadata, and do not edit version files while creating the tag.
Prefer release/<major>.<minor>. If that remote branch does not exist, use
main only when its workspace version equals the requested base version. Select
the next unused positive beta number for that exact base version unless the user
provides one. Relay tags are raw SemVer: 0.9.0-beta.1, never v0.9.0-beta.1.
Before the destructive tag push, require explicit approval. Preserve user
changes: do not stash, discard, or switch away from a dirty checkout. Fetch the
source branch and tags, require HEAD to equal upstream/<source-branch>, and
require the workspace version to equal the stable base version. Verify both
local and remote tags are absent, create a signed annotated tag, verify it with
git tag -v, and push only refs/tags/<tag>. Stop on any failed check; never
force-update, replace, or delete tags.