fix(integrations): declare kiro-cli multi-install safe (#3471)#3485
Open
Noor-ul-ain001 wants to merge 1 commit into
Open
fix(integrations): declare kiro-cli multi-install safe (#3471)#3485Noor-ul-ain001 wants to merge 1 commit into
Noor-ul-ain001 wants to merge 1 commit into
Conversation
kiro-cli confines all of its managed files to an isolated agent root
(`.kiro/`, with commands in `.kiro/prompts`) that no other integration
writes to, so it meets every documented criterion for multi-install
safety — but `KiroCliIntegration` never set `multi_install_safe = True`.
As a result, co-installing kiro-cli alongside any other integration left
`specify integration status` permanently in ERROR:
error unsafe-multi-install: Installed integrations are not all
declared multi-install safe: kiro-cli
`--force` bypasses the install-time gate but does not clear the status
error, and there is no flag or config to acknowledge it, so the error is
permanent while both integrations remain installed.
Set `multi_install_safe = True`. The registry's parametrized
multi-install-safe contract tests (static isolated root, distinct agent
roots / command dirs, disjoint manifests) now cover kiro-cli
automatically, and a focused regression test pins the declaration so a
future edit cannot silently drop it and reintroduce the error.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Declares Kiro CLI safe for co-installation because its files are isolated under .kiro/.
Changes:
- Enables
multi_install_safefor Kiro CLI. - Adds a regression test preserving the declaration.
Show a summary per file
| File | Description |
|---|---|
src/specify_cli/integrations/kiro_cli/__init__.py |
Declares multi-install safety. |
tests/integrations/test_registry.py |
Adds regression coverage. |
Review details
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 2/2 changed files
- Comments generated: 0
- Review effort level: Medium
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
Fixes #3471.
kiro-clikeeps all of its managed files under an isolated agent root —.kiro/with commands in.kiro/prompts— that no other integration writes to. It meets every documented criterion for multi-install safety, butKiroCliIntegrationnever declaredmulti_install_safe = True.Because of that, co-installing kiro-cli alongside any other integration (e.g.
claude) leftspecify integration statuspermanently in ERROR:--forceon install bypasses the install-time gate but does not clear the status error, and there is no flag or config to acknowledge it — so the error is permanent as long as both integrations remain installed.Fix
Set
multi_install_safe = TrueonKiroCliIntegration(one line + an explanatory comment)..kiro/is unique to kiro-cli — no other integration in the registry uses that root — so declaring it safe introduces no path or manifest collisions.Testing
TestMultiInstallSafeContractssuite now covers kiro-cli automatically: it asserts a static isolated root, pairwise-distinct agent roots and command dirs, and disjoint on-disk manifests across every safe integration. All pass with kiro-cli included.test_kiro_cli_is_declared_multi_install_safe) that pins the declaration itself, so a future edit can't silently drop the flag and reintroduce the permanent ERROR.tests/integrations/test_registry.py(331 → 332 tests) andtests/integrations/test_integration_subcommand.py: 473 passed, 7 skipped (skips pre-existing, unrelated).ruff checkclean on both changed files.🤖 Generated with Claude Code