| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
The bump-coana skill bumped package.json's version itself and wrote its own `## [<version>]` changelog heading. Both belong to the release workflow, and the skill's version of them caused real damage: headings for 1.1.160, a version that never existed anywhere, and a v1.1.159 that shipped with no notes at all because the hand-written heading had consumed the `[Unreleased]` block the release meant to promote. Point the skill at `[Unreleased]` instead, recreating that heading when the previous release consumed it — having nowhere to put notes is what motivated the invented headings in the first place. Also separate the two failures behind writeManifestVersion's guard. A manifest already holding the target version rewrites to itself, and `replaced === raw` read that no-op as a missing field, so a release whose version the skill had already written failed with "no top-level version line" against a manifest whose version field was present and well-formed. Test for the field, then replace, and let an already-correct manifest pass through.
| Back | FazBrowse Home | New Git URL |
Summary
The bump-coana skill bumped package.json's version itself and wrote its own ## [<version>] changelog heading. Both belong to the release workflow, and the skill's versions of them caused real damage on v1.x:
Changes
.claude/skills/bump-coana/SKILL.md
scripts/release/bump.mts
test/release-bump.test.mts
Verification
No changelog entry: internal tooling, excluded per the repo's changelog rules.
Follow-up not included here
Step 5 still commits with git commit -n, which skips the commit-msg PII guard that CLAUDE.md says not to work around. Left alone since the intent was probably to skip the pre-commit lint hook — DISABLE_PRECOMMIT_LINT=1 would do that without disarming the guard.
Note
Medium Risk
Changes the release bump script on the npm-publish path; the fix is narrow but release infrastructure is sensitive.
Overview
Stops the bump-coana skill from editing release-owned metadata and hardens the CI release bump when package.json already matches the derived version.
The skill now only bumps @coana-tech/cli in devDependencies, logs Coana changes under ## [Unreleased] (recreating that section if a release consumed it), and explicitly forbids touching the top-level version or adding ## [<version>] changelog headings—behavior that had invented unreleased versions and left real releases with empty notes.
writeManifestVersion in scripts/release/bump.mts checks for a version field before replacing, so a manifest already at the target version is a no-op instead of throwing “no version line.” A unit test covers that case.
Reviewed by Cursor Bugbot for commit 4a42956. Configure here.