Comment on: ADR-006: Extension Modularization & Install Infrastructure
Repo: gsd-build/gsd-2 by jeremymcs
## Research Findings (2026-03-28)
4 parallel researchers completed — Stack, Features, Architecture, Pitfalls. Full synthesis in `.planning/research/SUMMARY.md`.
### Stack
- **One new dependency:** `semver ^7.6.3` — everything else uses existing deps or Node.js built-ins
- **npm subprocess pattern:** `spawnSync("npm", ["install", "--prefix", targetDir, "--ignore-scripts"])` — no programmatic npm API (none is stable)
- **EventBus already exists:** `packages/pi-coding-agent/src/core/event-bus.ts` exposed as `pi.events` — no new event library needed
- **Existing utilities:** `proper-lockfile` (concurrent registry mutation), `hosted-git-info` (git URL parsing), `undici`/native `fetch` (registry API)
### Architecture
- **7 confirmed coupling sites** between gsd ↔ cmux: 5 in gsd importing cmux, 2 in cmux importing gsd types
- **1 reverse dep:** `shared/rtk-session-stats.ts:5` → `gsd/paths.js`
- **Discovery is directory-agnostic:** `discoverExtensionEntryPaths()` already works for any dir...
GitHub Issue
SaaS Metrics