chore: bump to 0.0.23-rc.1 for the first prerelease - #67
Conversation
The staging install channel (install.sh --staging, insta-cli#66) resolves the newest PRERELEASE, and none has ever been published — so `--staging` currently falls back to stable v0.0.22, which predates `insta env` and therefore hard-fails by design. Release binaries take their version from the tag (INSTA_CLI_VERSION), but publish-npm runs a bare `npm publish`, which uses package.json — so tagging v0.0.23-rc.1 without this bump would try to republish 0.0.22 and fail the npm job. Being hyphenated, this version publishes with --prerelease on the GitHub release and under npm's `next` dist-tag, so it stays off /releases/latest and off npm latest: production installers are unaffected.
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
jwfing
left a comment
There was a problem hiding this comment.
Review: chore: bump to 0.0.23-rc.1 for the first prerelease
Summary. A clean, minimal version bump (package.json 0.0.22 → 0.0.23-rc.1, plus lockfile sync) that correctly enables the first prerelease so install.sh --staging can resolve it — every claim in the PR body checks out against the release workflow.
Requirements context. No matching spec/plan found — insta-cli has no docs/superpowers/ (and docs/ contains no spec directory). Assessed against the PR description, the referenced #66 behavior, and .github/workflows/release.yml.
Verification of the PR's claims
I confirmed each rationale in the PR body directly against .github/workflows/release.yml:
- Binaries bake version from the tag, not package.json —
buildjob resolvesversion=${GITHUB_REF_NAME#v}and injects it via--define process.env.INSTA_CLI_VERSION=...(release.yml, "Build" step). ✅ npm publishtakes version from package.json —publish-npmruns a barenpm ci+npm publishwith no explicit version, sopackage.jsonis authoritative. Without this bump it would try to republish0.0.22. ✅- Hyphenated version stays off
latest—case "$TAG" in *-*) PRERELEASE="--prerelease"(GitHub release) andcase "${GITHUB_REF_NAME}" in *-*) TAG_ARG="--tag next"(npm).v0.0.23-rc.1matches, so it publishes as a GitHub prerelease under npm'snextdist-tag — production/releases/latestand npmlatestkeep servingv0.0.22. ✅ insta --versionstays consistent —src/index.ts:48-50returnsINSTA_CLI_VERSION(baked, for compiled binaries) elsepackage.json.version(for npm installs); both now report0.0.23-rc.1. ✅
Findings
Critical
- (none)
Suggestion
- (none)
Information
- Software engineering —
package-lock.json:3,9was corrected from a stale"version": "0.0.0"to0.0.23-rc.1, bringing the lockfile in line withpackage.json. This is an incidental improvement; the prior0.0.0/0.0.22mismatch was tolerated bynpm ciin past releases (v0.0.22 shipped), so no risk either way. - Software engineering —
package.json:5re-encodes the description's escaped—to a literal—. Cosmetic byproduct of the version tooling; harmless. - Functionality — Pre-existing and out of scope for this PR:
package.jsonnameis"insta"whilepackage-lock.jsonnameis"insta-cli". Not introduced or worsened here; flagging only for awareness.
Dimension coverage
- Software engineering — No tests expected or needed for a version-only bump; CI (
npm ci) validates lockfile↔package.json sync, which this PR actually improves. - Functionality — Implementation matches intent exactly; the four workflow claims verified above.
- Security — No security-relevant changes (no new deps, no code, no auth/input surface).
- Performance — No performance-relevant changes.
Verdict
approved — zero Critical findings. Metadata-only change, correct and complete for cutting the first prerelease. (Informational; the green-check approval remains a separate human action.)
jwfing
left a comment
There was a problem hiding this comment.
Review: chore: bump to 0.0.23-rc.1 for the first prerelease
Summary: A correct, well-justified metadata-only version bump to 0.0.23-rc.1 that unblocks the first staging prerelease; I verified the mechanism and the "production is unaffected" claim against the release workflow and installer, and both hold.
Requirements context
No matching spec/plan found — this repo has no docs/superpowers/ (or docs/specs/) directory, so I assessed against the PR description, the referenced #66 behavior, and the surrounding code (install.sh, .github/workflows/release.yml, src/commands/upgrade.ts).
Findings
Critical
(none)
Suggestion
(none)
Information
-
Functionality — the version string is safe with this repo's non-standard comparison paths (verified). The quoted hard-fail (
… needs >= 0.0.23) ininstall.sh:215is only hint text — the actual gate atinstall.sh:206-218runsinsta env useand branches on its exit code, i.e. it checks whether theenvsubcommand exists, not a numeric version. So a0.0.23-rc.1binary built from a commit containingsrc/commands/env.tspasses. Worth flagging only because in strict SemVer0.0.23-rc.1sorts below0.0.23; nothing here uses strict SemVer. The one numeric comparator,cmpSemver(src/commands/upgrade.ts:33-41), doesparseIntper dotted segment, yielding[0,0,23,1]for0.0.23-rc.1— so it treats the rc as greater than0.0.23. Combined with the auto-update path reading npm'slatestdist-tag (still0.0.22),decideActionreturnsnonefor an rc user, so there's no spurious "upgrade"/downgrade nudge. No action needed — just documenting that the format was checked against all three paths. -
Security — "production is unaffected" is verified, not just asserted.
release.yml:94(case "$TAG" in *-*) PRERELEASE="--prerelease") marks any hyphenated tag as a GitHub prerelease, keeping it off/releases/latest(the default/production installer channel), andrelease.yml:140publishes hyphenated versions under npm'snextdist-tag instead oflatest.v0.0.23-rc.1contains a hyphen, so both rules fire. Production installers keep resolvingv0.0.22. No secrets or tokens touched. -
Software engineering — no tests, appropriately. This is a pure metadata bump with no behavior change, so there is nothing to test; no test in
test/asserts the package version, so nothing regresses. Correctly scoped otherwise. -
Software engineering — lockfile now in sync (minor improvement).
package-lock.jsonmoved from a stale0.0.0to0.0.23-rc.1in both canonical lockfileVersion-3 locations (rootversionandpackages[""].version), matchingpackage.json. Validated as in-sync and valid JSON. This is a latent-inconsistency cleanup and is fine to carry in this PR. -
Software engineering (scope nit) — unrelated description edit.
package.jsonalso changes the description's escaped em-dash—→ literal—. Semantically identical JSON and harmless (likely an editor normalization), but strictly it's outside the version-bump concern. Not worth a separate PR for one character — noting only for scope-discipline awareness.
Verdict
approved (informational — a human still gives the explicit GitHub approval). Zero Critical findings; the change is correct, minimal, and its safety claims are verified against the release workflow and installer.
Version bump only — needed to cut the first prerelease.
Why this is required.
install.sh --staging(#66) resolves the newest prerelease, and none has ever been published for this repo — every release is a plain version withv0.0.22as Latest. So--stagingcurrently falls back to stablev0.0.22, which predatesinsta envand therefore hard-fails by design:Why package.json and not just the tag. Release binaries bake their version from the tag (
INSTA_CLI_VERSION), so they'd be fine. Butpublish-npmruns a barenpm publish, which takes the version frompackage.json— taggingv0.0.23-rc.1without this bump would attempt to republish0.0.22and fail that job.Production is unaffected. The version is hyphenated, so per the rules added in #66 it publishes with
--prereleaseon the GitHub release and under npm'snextdist-tag — staying off/releases/latestand off npmlatest. Production installers keep gettingv0.0.22until a stablev0.0.23is cut.After this merges, tagging
v0.0.23-rc.1makescurl -fsSL agents.staging.instacloud.com | shwork end to end (that hostname is now live and servingagents-staging.sh).🤖 Generated with Claude Code
https://claude.ai/code/session_01DhegxHSDCTRVC3izhkvwyF
Summary by cubic
Bump CLI to 0.0.23-rc.1 to cut the first prerelease and unblock
install.sh --staging. Updatepackage.jsonsonpm publishuses 0.0.23-rc.1 and goes to npmnext; production stays on v0.0.22.Written for commit d0427e0. Summary will update on new commits.