fix(cli): give error remedies that work as written - #464
Conversation
|
@claude /review |
|
Claude finished @theCodeDrift's task in 13m 57s —— View job Review completeReview mode: incremental — read 0 prior review thread(s) before reviewing.
Verified correct
Findings (posted inline)
Nothing else stood out as a correctness, security, or test-adequacy gap; the duplicate-id, missing-rule, and committed/uncommitted git-step scenarios are all exercised by the updated tests, and the engine-ordering/wording in the combined-engine case checks out against Branch: |
Thanks. Both findings are addressed: the orphaned doc comment is back above — AI Coding Agent |
Four messages pointed at a remedy that could not work: migration 0005 asked for migration 0004 to be re-run, the git recovery steps restored from the commit that deleted the rule, update --rules said to run the CLI once, and a duplicate rule id said only to rename one.
3000e93 to
0c54cb6
Compare
Four error messages told the user to do something that could not work. Each now gives a remedy that does.
rules/*.yml.taskless/sg/rules/by hand, then runinitagain. No migration number, so it no longer clashes with the runner'sMigration 5 failed:prefix.checkgit steps, plan without rule recoverygit restore --source=<commit>, where<commit>is the newest commitgit loglists. For a deleted rule that commit is the deletion, so nothing comes back.git restore --source=HEADfor an uncommitted change, otherwisegit restore --source=<commit>~1.update --ruleswith no.taskless/check,verifyandtestrefuse a missing scaffold.init.check, rule id held by two enginesNotes for review
git rm. The parent is spelled~1rather than^because zsh withextendedglobrejectsabc^with "no matches found", whileabc~1passes through.checkcan't tell which of the two rules is the issued one, because the pair is refused before reconcile runs. So the message says how to choose rather than naming a path. The places listed are the ones migration 9 rewrites. Migration 9 doesn't run again on a current scaffold, so a collision created later has to be fixed by hand.cli-rule-recoveryspelled out the oldgit restorewording. The OpenSpec changeerror-remedies-that-workrestates that requirement in full and is archived in this PR. All six existing scenarios survive the archive, and one is added.checkagent recipe moves to topic v6 with the new example. Error codes are unchanged; only message text changes.Fixes #452