Skip to content

Conductor Proxy T2: upstream supervisor engine (#94) - #105

Draft
ssbn wants to merge 1 commit into
feat/93-upstream-registryfrom
feat/94-supervisor
Draft

Conductor Proxy T2: upstream supervisor engine (#94)#105
ssbn wants to merge 1 commit into
feat/93-upstream-registryfrom
feat/94-supervisor

Conversation

@ssbn

@ssbn ssbn commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

Part of the Conductor Proxy MCP epic (#101). Resolves #94.

Stacked PR — base: feat/93-upstream-registry (merge #93 first; GitHub will retarget to beta).

Shared supervisor: one connection per upstream fanned out to every session.

  • McpProxySupervisor: start/stop/restart, online/offline+error, tool caching, re-list on tools/list_changed, callTool with a race-safe ProxyDispatchError
  • MCP SDK usage isolated in the default connection factory (stdio/sse/http, lazy require); logic unit-testable via injected fake factory
  • mcp-proxy:changed event; started at boot / stopAll on quit
  • 13 unit tests

🤖 Generated with Claude Code

Shared supervisor that owns ONE connection per upstream MCP server and fans it
out to every session -- N Claude/Codex instances share a single process per MCP
instead of each spawning its own.

- McpProxySupervisor: sync registry->entries, start/stop/restart, online/offline
  + error state, cache tools/list, re-list on upstream tools/list_changed,
  route callTool with a ProxyDispatchError code (covers the list->call race)
- MCP SDK usage isolated in defaultConnectionFactory (stdio/sse/http), lazy
  require; supervisor logic is transport-agnostic + unit-testable via injected
  fake factory
- mcp-proxy:changed internal event; started at boot / stopAll on quit in index.ts
- 13 unit tests

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ssbn
ssbn requested a review from nubbymong as a code owner July 15, 2026 23:36
@ssbn
ssbn marked this pull request as draft July 15, 2026 23:58
@ssbn

ssbn commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator Author

Converting to draft — a desktop-launch issue surfaced during verification: the interstitial loader shows but the main desktop UI never paints. Actively troubleshooting. Do not merge until fixed and a full desktop open-and-use test passes.

@ssbn ssbn added the release-2.2 Deferred to the 2.2 line; not for 2.1 stabilisation label Jul 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-2.2 Deferred to the 2.2 line; not for 2.1 stabilisation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant