Make MCP Mix invocation portable on Windows - #265
Conversation
|
Warning Review limit reachedNext included review available in 59 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Exact-head review: The portability change is bounded to Windows command-shim resolution plus Advisory status: HOLD, not PASS. The source-level boundary is acceptable, but CI/Security/MCP are still |
|
@coderabbitai review |
|
Finding
The released Ota
v1.6.27matrix showed the MCP harness passing on Ubuntu and macOS but failing on Windows. Two Windows-specific process boundaries were involved:mixexecutable and used the Unix:PATH delimiter;mix.cmdcommand shim.Original evidence:
https://github.com/bobaikato/pythiaLabs/actions/runs/33517820099/job/99894708547
Fix
mix.cmdfixture alongside the Unix stub;path.delimiter;mixcommand through the Windows command shell only on Windows, while preserving shell-free process launch on Unix.The command and arguments remain fixed; no caller-controlled shell input is introduced.
Validation
node --check integrations/mcp/smoke.mjsnode integrations/mcp/smoke.mjs: all assertions passed locallyverify-mcp-smoke=0The same Windows artifact also retained passing workflow MCP output and the non-credentialed conformance lanes. Existing Elixir-format and Prettier deviations remain separate and unchanged.
Scope
Only
integrations/mcp/smoke.mjsandintegrations/mcp/server.mjschange. There are no dependency, Ota-contract, workflow, formatting, or unrelated refactoring changes.This draft is separate from Ota adoption PR #264 and implies no merge approval or endorsement.