fix(integrations): declare PiIntegration multi_install_safe (#3652)

* 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>

* docs(integrations): list pi in the multi-install-safe reference table

Declaring PiIntegration multi_install_safe means the reference table in
docs/reference/integrations.md (which states it lists all currently
declared multi-install-safe integrations) should include it. Add the
alphabetized pi row with its .pi/prompts isolation path.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ali jawwad
2026-07-24 19:48:30 +05:00
committed by GitHub
parent 1631c0a50f
commit 391cc0dff8
3 changed files with 10 additions and 0 deletions

View File

@@ -276,6 +276,7 @@ The currently declared multi-install safe integrations are:
| `kilocode` | `.kilocode/workflows` |
| `kiro-cli` | `.kiro/prompts` |
| `omp` | `.omp/commands` |
| `pi` | `.pi/prompts` |
| `qodercli` | `.qoder/commands` |
| `qwen` | `.qwen/commands` |
| `shai` | `.shai/commands` |

View File

@@ -18,3 +18,4 @@ class PiIntegration(MarkdownIntegration):
"args": "$ARGUMENTS",
"extension": ".md",
}
multi_install_safe = True

View File

@@ -1,5 +1,7 @@
"""Tests for PiIntegration."""
from specify_cli.integrations import get_integration
from .test_integration_base_markdown import MarkdownIntegrationTests
@@ -8,3 +10,9 @@ class TestPiIntegration(MarkdownIntegrationTests):
FOLDER = ".pi/"
COMMANDS_SUBDIR = "prompts"
REGISTRAR_DIR = ".pi/prompts"
def test_multi_install_safe(self):
# Pi writes only to its isolated, static root .pi/prompts, disjoint from
# every other integration, so it must be co-install safe (mirrors
# qwen/shai/qodercli and the kiro-cli #3471 precedent).
assert get_integration(self.KEY).multi_install_safe is True