Skip to content

fix(integrations): declare PiIntegration multi_install_safe#3652

Open
jawwad-ali wants to merge 2 commits into
github:mainfrom
jawwad-ali:fix/pi-multi-install-safe
Open

fix(integrations): declare PiIntegration multi_install_safe#3652
jawwad-ali wants to merge 2 commits into
github:mainfrom
jawwad-ali:fix/pi-multi-install-safe

Conversation

@jawwad-ali

Copy link
Copy Markdown
Contributor

What

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.

Why it matters

Like the merged kiro-cli fix #3471, an isolated-but-undeclared integration leaves specify integration status in a permanent unsafe-multi-install ERROR state when pi is co-installed alongside another agent, with no acknowledgment path. Pi meets none of the documented exclusion criteria (no shared command dir, no dynamic path, no merged settings). Every sibling isolated MarkdownIntegration got the flag in the #2389 rollout; pi was skipped.

Fix

Add multi_install_safe = True, mirroring qwen/shai/qodercli and the kiro-cli #3471 precedent.

Tests

test_integration_pi.py::TestPiIntegration::test_multi_install_safe (fails before the fix). The parametrized registry isolation contracts auto-include pi once the flag is set and pass — .pi/prompts is isolated and its manifest disjoint. ruff clean.


AI-assisted: authored with Claude Code. Verified .pi/ is unique across all integrations and the isolation contracts pass with the flag set.

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 github#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>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Declares Pi safe for concurrent installation with isolated integrations.

Changes:

  • Enables multi_install_safe for Pi.
  • Adds regression coverage for the declaration.
  • Public integration reference still needs updating.
Show a summary per file
File Description
src/specify_cli/integrations/pi/__init__.py Enables safe multi-install behavior.
tests/integrations/test_integration_pi.py Verifies the safety declaration.

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: 1
  • Review effort level: Medium

Comment thread src/specify_cli/integrations/pi/__init__.py
@mnriem

mnriem commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

Please address Copilot feedback

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>
@jawwad-ali

Copy link
Copy Markdown
Contributor Author

Thanks! The Copilot feedback is addressed in b958aba: added the alphabetized pi row (.pi/prompts) to the multi-install-safe table in docs/reference/integrations.md, and resolved the thread. Should be ready for another look.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: kiro-cli integration should be declared multi_install_safe

3 participants