Repository navigation
task-config set assistant <installed one> in a dual repo silently uninstalls the other assistant: refuse and point to task-config use (#303) - #310
Merged
Conversation
…nstalls the other assistant: refuse and point to task-config use (#303) In a dual repo, `set assistant A` and `set loadout A-<same tracker>` now exit non-zero and change nothing, --yes or not, naming `task-config use A` and `task-config remove assistant <other>`. The new `remove assistant` is the mirror of `add`: preview, confirm on a TTY, remove only that assistant's artifacts, make the kept one active. `show` on a dual repo prints the switch hint. Single-assistant `set assistant` still swaps. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
Spec complianceChecked against #303; every deliverable is present.
Code-review findingsNo blockers and no correctness issues found in
CIA run exists for head Verdictclean. No findings to fix in this PR. |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
In a repo with both assistants installed,
task-config set assistant claudeused to keep claude and quietly uninstall kiro, which is not what anyone typing "set assistant" expects. It is now refused and changes nothing, pointing attask-config useto switch and at a new, explicittask-config remove assistant <other>to drop one.Closes #303
What changed
bin/task-config_set_dual: when the target is already installed (set assistant A, orset loadout A-<same tracker>), refuse with exit 1 before any preview/prompt, so--yescannot bypass it. The message names both loadouts,task-config use A, andtask-config remove assistant <other>.set loadoutonto another tracker still replaces both;set trackerstays refused.task-config remove assistant <B>(the mirror ofadd; picked over--drop-otherper the PM's lean): previews viala_plan,--dry-runstops there, confirms on a TTY,la_removes only B (the local tracker's sharedtasks/scaffolding stays), sets the kept assistant active. Refuses the only installed assistant (points atset assistant/task-remove), one not installed, a different-tracker pair, and--impl.showon a dual repo with an active assistant:switch: task-config use <other> · launch one: task-work … --agent <other>.set assistantstill swaps.Tests
tests/dual_assistant.bats: refusal both directions and forset loadout claude-gh(cleangit status, active setting untouched, kiro files present), refusal without--yesand with no prompt,remove assistanttouching only.kiro/and setting active, its--dry-run, its refusals, a single-assistant swap after a remove, theshowhint both ways. The two old "keep A, remove the other" tests becameremove assistanttests.Mutation check: skipping the refusal branch, dropping its
exit 1, and droppingremove's_set_activeeach turned tests red.Green:
./run_tests.sh1592/1592,tools/check-drift.sh,shellcheck -x bin/task-config.Docs
README dual-repo section,
.claude/gh-workflow.md, all seven steering templates,--help, CHANGELOG (behaviour change from #293). Notask-initre-run required.🤖 Generated with Claude Code