Skip to content

Commit fb20b5f

Browse files
jawwad-aliclaude
andcommitted
fix(integrations): declare PiIntegration multi_install_safe
PiIntegration writes only to its isolated, static root .pi/prompts, disjoint from every other integration, yet never declared multi_install_safe — so it inherited the IntegrationBase default False, leaving `specify integration status` in a permanent unsafe-multi-install ERROR state when pi is co-installed alongside another agent. Add `multi_install_safe = True`, mirroring the isolated MarkdownIntegration cohort (qwen, shai, qodercli) and the kiro-cli #3471 fix. The parametrized registry isolation contracts auto-include pi and pass. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 8db7228 commit fb20b5f

2 files changed

Lines changed: 9 additions & 0 deletions

File tree

src/specify_cli/integrations/pi/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,4 @@ class PiIntegration(MarkdownIntegration):
1818
"args": "$ARGUMENTS",
1919
"extension": ".md",
2020
}
21+
multi_install_safe = True

tests/integrations/test_integration_pi.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
"""Tests for PiIntegration."""
22

3+
from specify_cli.integrations import get_integration
4+
35
from .test_integration_base_markdown import MarkdownIntegrationTests
46

57

@@ -8,3 +10,9 @@ class TestPiIntegration(MarkdownIntegrationTests):
810
FOLDER = ".pi/"
911
COMMANDS_SUBDIR = "prompts"
1012
REGISTRAR_DIR = ".pi/prompts"
13+
14+
def test_multi_install_safe(self):
15+
# Pi writes only to its isolated, static root .pi/prompts, disjoint from
16+
# every other integration, so it must be co-install safe (mirrors
17+
# qwen/shai/qodercli and the kiro-cli #3471 precedent).
18+
assert get_integration(self.KEY).multi_install_safe is True

0 commit comments

Comments
 (0)