Status:
draft · Version 0.2 · Filed 2026-04-29version: 0.2 status: draft
Title: SPEC-054 v0.2 — Node MCP Shim: Port mcp/ to TypeScript, Eliminate Python From Editor Hosts
Version
0.2Status
draftChangelog
v0.2 (2026-04-29) — Frank revised the Phase 3 cutover: noPRISM_SHIM=python safety valve, no one-release deprecation cycle. The Python shim is removed entirely as part of Phase 3. Phase 4 (delete mcp-py/) is folded into Phase 3 — single clean cut. D8 retired. Phase ownership: Phase 3 work is assigned to Lafonda (install lane).
v0.1 — Original spec. Phase 1 scaffold, tier-by-tier verb port (1A/1B/1C), surface adapters (tier 2), strategies (tier 3), lifecycle (tier 4), channel bridge (tier 5). Phase 3 originally proposed a PRISM_SHIM=python opt-in safety valve.
Origin
(Unchanged from v0.1. See full discussion in v0.1 body — Docker is the single accepted client-side prerequisite, the Python shim is the lone holdout introducing a second host-level prereq, the Prism CLI is already TS/Node, port consolidates client-side runtime to one ecosystem.)§1 — Goals
(Unchanged from v0.1.)- Editor host needs no Python.
- Drop-in stdio replacement at the editor MCP config level.
- One client-side runtime ecosystem.
- Parity-validated against the existing smoke suite.
- Backend untouched.
Non-goals (v0.2)
(Unchanged.)§2–§6
(Unchanged from v0.1: process & transport architecture, repo layout, verb dispatch, stateful in-process surface, dependency mapping.)§7 — Cutover Plan (v0.2 REVISION)
Phase 1 — Scaffold (LANDED)
mcp-node/ package, 64 verb stubs over MCP stdio. PR #14, merged.
Phase 2 — Port verbs in tiers (LANDED)
- Tier 1A: 19 read-mostly proxies (PR #15)
- Tier 1B: 28 multi-action governance + emitters (PR #16)
- Tiers 2+3+4: surfaces, strategies, lifecycle (PR #17)
- Tier 5: channel bridge (PR #18)
- Tier 1C: 8 filesystem/subprocess verbs (PR #20)
Phase 3 — CLI install flip + Python shim removal (PENDING — Lafonda)
Single coherent cut. No safety valve, no opt-in fallback.prism installwrites editor MCP configs pointing at the Node shim (command: node,args: [<root>/mcp-node/dist/server.js], or single-binary path TBD per Q1).mcp/.venvprovisioning code is removed fromcli/src/index.tspreflight.mcp/Python directory is deleted from the repo (formerly Phase 4 in v0.1).mcp/requirements.txtis deleted.- README + INSTALL stop mentioning Python on the client side.
- The “host Python not found” troubleshoot row in
docs/INSTALL.mdis deleted. bin/prism-mcp-switch.mjs(the manual switch script shipped in PR #19) is deleted — its purpose was bridging the gap before Phase 3; with the clean cut, it’s redundant.
git revert <phase-3-commit>. No env-var-toggleable fallback.
Phase 4 (RETIRED)
Phase 4 (delete Python shim) was in v0.1 a separate post-deprecation step. v0.2 folds it into Phase 3 per Frank’s directive: clean cut.§8–§11
(Unchanged from v0.1: verification, decisions, open questions, performance consciousness.)§9 Decisions — D8 RETIRED
D8 (Phase 3 keepsPRISM_SHIM=python as a one-release safety valve) is retired. The new directive: clean cut, git revert is the recovery.
§12 — Authorship
- Author: Donna (Claude Code, session
c1d19f01) 2026-04-29. - v0.2 revision: Frank correction 2026-04-29 — no Python safety valve in Phase 3.
- Phase 3 owner: Lafonda (install lane per multi-agent fan-out).
- Implementation gate: Frank’s GO. Already given for v0.1 Phases 1+2; Phase 3 awaits Lafonda’s pickup.

