You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Replace the Claude plugin MCP child-process bridge with a Node stdio-to-HTTP proxy that attaches to the running daemon over /mcp-rpc. SessionStart is status-only and no longer resolves or shells into cortex.exe. Remove legacy dev app URL routing and local-spawn fallback behavior.
Validation: node --test plugins/cortex-plugin/scripts/run-mcp.contract.test.cjs; node plugins/cortex-plugin/scripts/dry-run-matrix.cjs; node --check plugin scripts; python tools/audit_spawn_paths.py --strict; live stdin parse-error smoke against local daemon.
- No plugin URL, app URL set -> route `remote` -> Node stdio-to-HTTP proxy
36
+
- No plugin/app URL -> route `local` -> Node stdio-to-HTTP proxy to `127.0.0.1:7437`
37
+
-`CORTEX_DEV_PREFER_APP=1` without `CORTEX_APP_URL` -> explicit failure
51
38
52
39
## Lifecycle Guarantees
40
+
53
41
- Plugin SessionStart hook is status-only and never starts/stops daemon.
54
-
- SessionStart probes `/readiness` first and falls back to `/health` for older daemons.
55
-
- Plugin MCP bridge never direct-spawns daemon binaries itself.
56
-
- Local plugin mode delegates daemon readiness to `cortex plugin mcp` service-first policy (Windows) or returns a clear unsupported-local-ensure error on non-Windows.
57
-
- If local mode resolves only temporary binaries, plugin blocks fallback and surfaces safe-binary guidance.
42
+
- SessionStart probes `/readiness` first and falls back to `/health`.
43
+
- Plugin MCP bridge posts JSON-RPC to `/mcp-rpc` with:
44
+
-`X-Cortex-Request: true`
45
+
-`Authorization: Bearer <token>` for local or remote authenticated routes
46
+
-`X-Source-Agent`
47
+
- optional `X-Source-Model`
48
+
- Local token auth is read from `CORTEX_TOKEN_PATH`, `CORTEX_HOME/cortex.token`,
49
+
or `~/.cortex/cortex.token`.
50
+
- If local mode cannot reach a ready daemon, the bridge exits with
51
+
`APP_INIT_REQUIRED` and instructs the user to open Cortex Control Center.
58
52
59
53
## Lockstep Requirement
60
-
Plugin-bundled daemon versions and app daemon versions should ship in lockstep.
61
54
62
-
Minimum release guard:
63
-
1. Build plugin bundle from the same daemon commit used by app release artifacts.
64
-
2. Keep plugin version and daemon release manifest aligned in release checklist.
65
-
3. Add CI guard that fails release when plugin bundle daemon version differs from app daemon version.
55
+
Plugin release artifacts and app daemon versions should still ship in lockstep,
56
+
but plugin MCP routing no longer depends on a bundled or canonical daemon binary.
0 commit comments