Skip to content

fix(harness): close Pi MCP bridge invariant gaps - #458

Merged
solomonneas merged 1 commit into
mainfrom
verify/pi-mcp-bridge
Jul 23, 2026
Merged

fix(harness): close Pi MCP bridge invariant gaps#458
solomonneas merged 1 commit into
mainfrom
verify/pi-mcp-bridge

Conversation

@solomonneas

Copy link
Copy Markdown
Collaborator

Summary

  • Reject Pi MCP catalogs whose enabled server names contain the reserved __ separator, preventing qualified-name collisions and call misrouting.
  • Treat MCP result.isError: true responses as tool failures while preserving server, tool, and qualified-name identity.
  • Add regression coverage for deterministic naming, stdio and HTTP catalog resolution, receipt-based uninstall, and Node built-in-only extension imports.

Root cause

The bridge split qualified names on __ without reserving that separator in server names, so two server/tool pairs could produce the same name. It also checked only JSON-RPC error responses and missed MCP result-level failures. The install projection now uses the same reserved-name validation as runtime discovery, so it cannot report an unusable catalog as ready.

Verification

  • brigade work verify run --target . --command "pytest -q tests/test_pi_mcp_bridge.py" --capture brigade-work
  • brigade work verify run --target . --command "./scripts/verify" --capture brigade-work

Fixes part of #438.

Reject ambiguous qualified names across runtime discovery and install projection. Preserve MCP result-level failure identity, and add focused regression coverage for naming, transports, receipts, removal, and built-in imports.

Co-authored-by: Claude <noreply@anthropic.com>

Co-authored-by: Codex <codex@openai.com>
@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one) (1)
  • coderabbit-review

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository: escoffier-labs/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 5a34294b-23f5-44e0-a461-984860a0e4d8

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch verify/pi-mcp-bridge

Comment @coderabbitai help to get the list of available commands.

@solomonneas
solomonneas merged commit 555cb8e into main Jul 23, 2026
21 checks passed
@solomonneas solomonneas self-assigned this Jul 23, 2026
@solomonneas
solomonneas deleted the verify/pi-mcp-bridge branch July 26, 2026 20:38
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.

1 participant