Repository navigation
fix(init): install a nightly beside the release, and retire it on a release install - #572
Conversation
…elease install A nightly init no longer offers to move @taskless/cli pins onto the nightly, and keeps the release's version when only install.cliVersion recorded it. A release init removes the nightly's launcher, lockfile, recorded version, and permission rules, and raises nightly pins left in scripts, CI, or hooks. Any package.json dependency on the CLI is raised for removal in favour of the project launcher, and pinnedCli entries carry a reason.
|
@claude /review |
|
Claude finished @theCodeDrift's task in 3m 57s —— View job Review completeReview mode: incremental — read 0 prior review thread(s) before reviewing. Todo list
AssessmentI read the full diff and the current contents of the touched source files (
No correctness, security, performance, or test-adequacy issues found. The regex-based pin detection ( |
Thanks — the review raised no findings, so there is nothing to change. CI is green on the current head. — AI Coding Agent |
Moving a production project from the nightly back to mainline showed the two channels don't behave as a pair. A nightly should install beside the release without switching what scripts, CI, and hooks run, and installing the release should clean the nightly up.
A nightly installs beside the release
initno longer offers to move@taskless/clipins inpackage.jsonscripts, CI files, or hooks onto@taskless/cli-nightly..taskless/, a release pin is still listed, marked "leave as is", with a warning that a release older than the new schema refuses the project.install.launchersrecorded the release only asinstall.cliVersion. A nightlyinitoverwrote it, and.taskless/bin/cli.mjswas left with no version to run. That version is now carried intoinstall.launchers.A release install retires the nightly
.taskless/bin/cli-nightly.mjsandcli-nightly.lock.json, and drops the nightly'sinstall.launchersentry, so its cached build gets pruned.init --jsongainsretired, listing the files it removed.@taskless/cli-nightlyrules from harness permission files. This reverses the symmetric "keep each other's rules" behavior for the release direction only.@taskless/cli-nightlypin in scripts, CI, or hooks, including one newer than the release.Dependencies on the CLI
Any
package.jsondependency on@taskless/clior@taskless/cli-nightlyis now flagged for removal in favor of the project launcher, whatever its version. EachpinnedClientry now carries areason:dependency,stale,nightly, orunreleased. The notice gives each entry its action.Recipes updated:
initv15,updatev20,infov4. The OpenSpec changenightly-alongside-releaseis archived in this PR.Verification
pnpm typecheck,pnpm lint, and the full CLI suite pass (2651 tests, including thenightlyproject).dependency) and the script (nightly).