fix(integrations): declare kiro-cli multi-install safe (#3471) (#3485)

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>
This commit is contained in:
Noor ul ain
2026-07-14 00:13:44 +05:00
committed by GitHub
parent a965413a24
commit 0acb5c6461
2 changed files with 21 additions and 0 deletions

View File

@@ -27,3 +27,10 @@ class KiroCliIntegration(MarkdownIntegration):
"args": _KIRO_ARG_FALLBACK,
"extension": ".md",
}
# Kiro CLI keeps everything under a static, isolated agent root
# (``.kiro/`` with commands in ``.kiro/prompts``) that no other
# integration writes to, so it is safe to install alongside others
# (issue #3471). The registry's multi-install-safe contract tests
# enforce that isolation for every integration setting this flag.
multi_install_safe = True

View File

@@ -272,6 +272,20 @@ class TestMultiInstallSafeContracts:
f"these files: {sorted(overlap)}"
)
def test_kiro_cli_is_declared_multi_install_safe(self):
"""kiro-cli confines itself to an isolated ``.kiro/`` root that no
other integration touches, so it must be declared multi-install safe
(issue #3471).
Before the fix, co-installing kiro-cli alongside another integration
left ``specify integration status`` permanently in ERROR
(``unsafe-multi-install``) with no way to acknowledge it. The
parametrized isolation/manifest contracts above already exercise
kiro-cli once the flag is set; this pins the declaration itself so a
future edit cannot silently drop it and reintroduce the error.
"""
assert INTEGRATION_REGISTRY["kiro-cli"].multi_install_safe is True
class TestCatalogParity:
"""The discovery catalog must list every registered integration."""