/** * ship-release — /ship Step 12 (version), Steps 15-16 (release commit, verification) * and Step 17 (push) as gstack-ship-release's three commands. They chain * gstack-ship-policy, gstack-version-bump, gstack-next-version, gstack-decision-log, * gstack-wtree, gstack-docs-candidate compare, gstack-evidence, gstack-pregate (the * stamped-tree rerun and the sealed guard) and git, print a compact result, and stop * with STOP: wherever the prose assigns the decision to the agent: the bump level, a * rebump, an incomplete queue, a sibling's claim, feature-commit grouping, a changed * reviewed tree, stale docs, failing or zero-run tests, the pre-push offer and pushes * that fail. */ import * as fs from 'node:fs'; import * as path from 'node:path'; import { classifyPath } from './review-depth'; import { resolveStateRoot } from './state-root'; import { bumpVersion, cmpVersion, fmtVersion, parseVersion, versionWidth, type Bump } from './version-source'; import { bin, evidenceExempt, firstLine, flagReader, fragmentPath, gh, git, hostedOrigin, laneLine, lanes, releasePaths, Report, runLanes, sh, shipPolicy, short } from './ship-bin-common'; export const RELEASE_HELP = `gstack-ship-release — /ship Steps 12 and 15-17 (ship/SKILL.md) version --base [--bump micro|patch|minor|major] [--version ] [--keep-current] [--accept-incomplete] [--why ] [--answer ] Step 12: classify, pick the queue-aware version, write it with --regen-digest --changelog, log the decision; --keep-current (or --version ) keeps VERSION; under bump ask a session no person answers needs --answer before a bump is written finish --base --reviewed-tree --docs-post [--lane