-
Notifications
You must be signed in to change notification settings - Fork 0
fix(check): refuse a project behind the CLI instead of migrating it #234
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
503b0a8
fix(check): refuse a project behind the CLI instead of migrating it
thecodedrift 81e27c9
fix(check): keep refusing a scaffold newer than the CLI
thecodedrift 2be1b58
test(repair): give the repair fixture the manifest a real project has
thecodedrift 55a952c
fix(verify): keep the scaffold migration off stderr under --json
thecodedrift File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,33 @@ | ||
| --- | ||
| "@taskless/cli": patch | ||
| --- | ||
|
|
||
| `check`, `verify` and `test` no longer migrate `.taskless/` as a side effect of | ||
| reading it. | ||
|
|
||
| Migration `0005` moves and deletes tracked files, and these three commands | ||
| performed it on the way to doing their real work. So a command whose whole job | ||
| is to report rewrote the repository, with nothing on the human path to say so: | ||
| the diff landed in whatever commit came next, and in CI it ran on every | ||
| checkout. | ||
|
|
||
| It also made a migration impossible to verify. Comparing findings before and | ||
| after cannot be done when asking the question performs the change, so a | ||
| migration that silently dropped a rule could not be caught by the one check | ||
| that would catch it. | ||
|
|
||
| These commands now refuse a project whose scaffold is behind, name | ||
| `taskless init` as the fix, and leave the working tree untouched. The refusal | ||
| carries `SCAFFOLD_MIGRATION_REQUIRED` on the `--json` envelope, distinct from | ||
| the existing `SCAFFOLD_VERSION_MISMATCH`, which is the opposite direction and | ||
| asks the caller to upgrade the CLI instead. | ||
|
|
||
| The cost is a wall the user meets once after an upgrade, where before they met | ||
| nothing. That is the visible version of the same event. | ||
|
|
||
| `init --json` is new, and carries the `migrated` field that `check`, `verify` | ||
| and `test` used to report. The field followed the behaviour rather than being | ||
| dropped: a CI script still needs to know the working tree was rewritten and | ||
| what moved. It is gone from those three envelopes, where it can no longer | ||
| occur; it was always optional and conditional, so nothing that read it | ||
| correctly breaks. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.