Skip to content

fix(canvas/config): load runtime+model from workspace metadata + hide misleading config.yaml error for hermes - #1898

Merged
HongmingWang-Rabbit merged 2 commits into
stagingfrom
fix/config-tab-runtime-model-hermes
Apr 23, 2026
Merged

fix(canvas/config): load runtime+model from workspace metadata + hide misleading config.yaml error for hermes#1898
HongmingWang-Rabbit merged 2 commits into
stagingfrom
fix/config-tab-runtime-model-hermes

Conversation

@HongmingWang-Rabbit

Copy link
Copy Markdown
Contributor

Closes #1894.

Bug (visible on hermes workspaces)

  1. Runtime dropdown shows LangGraph (default) when actual runtime is hermes
  2. Model field empty when a model IS saved
  3. "No config.yaml found" error banner on a working workspace
  4. Clicking Save silently flips runtime back to LangGraph

Root cause

loadConfig only fetched the platform's config.yaml template, which hermes doesn't use (hermes manages its own config at ~/.hermes/config.yaml on the workspace host). On failure it set an error and left the form with default values.

Fix

  1. Always fetch workspace metadata (runtime + model) via GET /workspaces/:id and GET /workspaces/:id/model — these are the source of truth regardless of whether the runtime uses the platform template.
  2. Added RUNTIMES_WITH_OWN_CONFIG set (hermes, external). For these runtimes:
    • Missing config.yaml is NOT an error — no red banner
    • Show a gray informational banner telling the user where to edit the runtime's actual config (e.g. ~/.hermes/config.yaml via Terminal tab)

Test plan

  • tsc --noEmit clean on modified file (pre-existing errors elsewhere in repo not introduced)
  • Manual browser: open Config tab on a hermes workspace → runtime dropdown shows "Hermes", model field populated, gray banner instead of red error
  • Manual browser: open Config tab on a langgraph workspace → form behaves as before (no info banner)

Evidence

User screenshot 2026-04-23 showing bug on hongmingwang/Hermes workspace.

… misleading config.yaml error for hermes

Canvas Config tab had 3 bugs visible on hermes workspaces (#1894):

1. Runtime dropdown showed "LangGraph (default)" even when the workspace's
   actual runtime was hermes — because the form only loaded runtime from
   config.yaml, and hermes doesn't use the platform's config.yaml template.
2. Model field was empty for the same reason.
3. "No config.yaml found" error appeared on hermes workspaces despite
   everything being fine — hermes manages its own config at
   ~/.hermes/config.yaml on the workspace host.

Worse, clicking Save with the empty form would silently flip `runtime`
back from `hermes` to `LangGraph (default)`.

## Fix

- loadConfig now always fetches workspace metadata (runtime + model)
  via GET /workspaces/:id and GET /workspaces/:id/model BEFORE attempting
  the config.yaml fetch. These act as the source of truth for runtime
  and model when config.yaml doesn't set them.
- RUNTIMES_WITH_OWN_CONFIG set lists runtimes that manage their own
  config outside the platform template (hermes, external). For these:
  - Missing config.yaml is NOT an error — no red banner shown.
  - An informational gray banner tells the user where to edit the
    runtime's config (e.g. "edit ~/.hermes/config.yaml via Terminal tab
    or the hermes CLI" for hermes).

Closes #1894.

Verified 2026-04-23 on user's hongmingwang tenant which runs hermes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

@molecule-ai molecule-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved by Dev Lead (molecule-ai[bot]) — CI green, code review passed.

@HongmingWang-Rabbit
HongmingWang-Rabbit merged commit 30ed7ba into staging Apr 23, 2026
12 checks passed
@HongmingWang-Rabbit
HongmingWang-Rabbit deleted the fix/config-tab-runtime-model-hermes branch April 24, 2026 00:10
HongmingWang-Rabbit pushed a commit that referenced this pull request Jun 12, 2026
…ection (mc#1738)' (#1898) from fix/audit-force-merge-required-checks-drift-1738 into main
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.

[canvas] Config tab doesn't load saved workspace fields — runtime, model, stale "No config.yaml found"

1 participant