Skip to content

[codex] keep Hermes task-plan MCP on its owning Studio instance - #3157

Merged
EKKOLearnAI merged 1 commit into
mainfrom
codex/fix-hermes-plan-instance
Sep 22, 2026
Merged

EKKOLearnAI merged 1 commit into
mainfrom
codex/fix-hermes-plan-instance

Conversation

@EKKOLearnAI

Copy link
Copy Markdown
Owner

Summary

When Desktop and another Studio server share a Hermes profile, managed MCP auto-injection can overwrite the URL in that profile. A subsequently started Desktop worker then submits its valid task-plan context to the other server and receives HTTP 409 (Task plan context is unavailable or has expired).

Bind managed MCP subprocess launches to the Bridge owner's Studio URL/state directory and the worker's profile. Apply the override to a copy at launch/reconnect, preserving shared YAML and user-owned MCP settings. Cover split and legacy Hermes MCP layouts, and extend model-switch coverage to verify that another running session stays unchanged.

Existing Bridge/MCP workers need a Studio restart after installing the fix. This does not restore previously failed turns.

Validation

  • 194 focused Vitest tests passed across MCP instance routing, Bridge manager/imports/readiness/final context, Python concurrency, provider credentials and task-plan lifecycle.
  • Real MCP subprocess test reproduces 409 against the wrong HTTP server and succeeds against the owner with the same stale launch configuration.
  • Actual Hermes 0.20.6 and 0.21.3 MCP environment builders verified locally with isolated temporary homes.
  • PLAYWRIGHT_PORT=14173 npx playwright test tests/e2e/task-plan.spec.ts --workers=2 — 4 passed.
  • npm run harness:check — passed.
  • npm run build — passed.
  • git diff --check — passed.

@EKKOLearnAI
EKKOLearnAI marked this pull request as ready for review September 22, 2026 23:17
@EKKOLearnAI
EKKOLearnAI merged commit 7660f92 into main Sep 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant