Context: Discovered during the review of PR #11149 (which resolved process.cwd() leakage in GitHub Workflow pathing).
The Problem:
The config.projectRoot resolution logic currently handles the canonical neomjs/neo repository and standard npx neo-app node_modules installations. However, three non-blocking edge cases and documentation gaps were identified that should be resolved to guarantee robust execution:
pnpm installs (.pnpm/neo.mjs@*/node_modules/neo.mjs/) have a distinct directory layout edge case that is currently unhandled by the path heuristic.
- The newly introduced
NEO_WORKSPACE_ROOT manual override environment variable is undocumented and needs to be surfaced in user-facing configuration docs.
- The
defaultBranchDetector in toolService.mjs was updated to be cwd-aware, but currently lacks a dedicated Cycle-2 unit test to prevent future regressions.
The Architectural Reality:
ai/mcp/server/github-workflow/config.mjs and config.template.mjs
ai/services/github-workflow/toolService.mjs
- Relevant user-facing markdown documentation for MCP configurations.
The Fix:
- Enhance the
projectRoot heuristic to support pnpm workspace layout matching.
- Document
NEO_WORKSPACE_ROOT in the relevant markdown files.
- Add a Playwright unit test specifically validating
defaultBranchDetector with a mock cwd.
Acceptance Criteria:
Out of Scope:
- Modifying other MCP servers' path resolution logic.
Related:
Origin Session ID: e93e8f88-2d80-4a24-80c7-7a366d10651b
Context: Discovered during the review of PR #11149 (which resolved
process.cwd()leakage in GitHub Workflow pathing).The Problem: The
config.projectRootresolution logic currently handles the canonicalneomjs/neorepository and standardnpx neo-appnode_modules installations. However, three non-blocking edge cases and documentation gaps were identified that should be resolved to guarantee robust execution:pnpminstalls (.pnpm/neo.mjs@*/node_modules/neo.mjs/) have a distinct directory layout edge case that is currently unhandled by the path heuristic.NEO_WORKSPACE_ROOTmanual override environment variable is undocumented and needs to be surfaced in user-facing configuration docs.defaultBranchDetectorintoolService.mjswas updated to becwd-aware, but currently lacks a dedicated Cycle-2 unit test to prevent future regressions.The Architectural Reality:
ai/mcp/server/github-workflow/config.mjsandconfig.template.mjsai/services/github-workflow/toolService.mjsThe Fix:
projectRootheuristic to supportpnpmworkspace layout matching.NEO_WORKSPACE_ROOTin the relevant markdown files.defaultBranchDetectorwith a mockcwd.Acceptance Criteria:
projectRootheuristic successfully detectspnpmlayout without breaking existingnpm/yarnlayouts.NEO_WORKSPACE_ROOTis documented.defaultBranchDetectorunit test added and passing.Out of Scope:
Related:
Origin Session ID: e93e8f88-2d80-4a24-80c7-7a366d10651b