Follow-up items intentionally deferred from PR #945 to keep release-task changes scoped and ship-ready.
Context: #945
Deferred items
- Normalize uncommitted-changes error path so it exits with user-friendly output (no Ruby backtrace from
raise in the message handler).
- Harden
github_repo_slug handling further (strict slug validation and/or non-shell API invocation for permission probe).
- Revisit release create/edit execution path for consistency (
system array form vs sh_in_dir shell string), including directory quoting edge cases.
- Make worktree cleanup preserve the original failure cause if cleanup itself fails.
- Improve dry-run UX:
- print explicit "dry run - skipping confirmation" message in
create_prerelease
- optionally print the would-run GitHub release command during dry run
- Improve
create_prerelease visibility/docs around inferred base_version from current gem version.
- Ensure task-level docs mention
AUTO_CONFIRM=true clearly where maintainers run the task directly.
Goal
Address these as a focused follow-up PR after #945 merges, without extending release-critical churn in #945.
Follow-up items intentionally deferred from PR #945 to keep release-task changes scoped and ship-ready.
Context: #945
Deferred items
raisein the message handler).github_repo_slughandling further (strict slug validation and/or non-shell API invocation for permission probe).systemarray form vssh_in_dirshell string), including directory quoting edge cases.create_prereleasecreate_prereleasevisibility/docs around inferredbase_versionfrom current gem version.AUTO_CONFIRM=trueclearly where maintainers run the task directly.Goal
Address these as a focused follow-up PR after #945 merges, without extending release-critical churn in #945.