Skip to content

fix: use plugin-safe model setting and external cache - #9

Open
pstarkgit wants to merge 1 commit into
DECRUX9812:mainfrom
pstarkgit:fix/hermes-plugin-settings-and-cache
Open

pstarkgit wants to merge 1 commit into
DECRUX9812:mainfrom
pstarkgit:fix/hermes-plugin-settings-and-cache

Conversation

@pstarkgit

Copy link
Copy Markdown

Summary

Two installation-time settings interact poorly with current Hermes:

  1. Hermes rejects a plugin-relative get_config("model") because model is a reserved core root. The router silently catches that exception, emits repeated Rejected config path 'model' warnings, and always falls back to jev-latest. Rename the plugin setting to router_model while retaining the client's model argument and document the change.
  2. The default cache.json lives inside this plugin's buildable directory. Hermes includes non-excluded plugin files in its dependency stamp, so each answer cache rewrite can make the next CLI launch report venv: out of sync with uv.lock and repeat the source-update dependency/desktop build. Put the default cache under <hermes home>/cache/typesafe-skill-router.json instead. Explicit cache overrides remain supported.

The README notes that the previous cache is not automatically migrated and describes how to preserve it before restarting; leaving cache_path pointed into the buildable plugin tree reproduces the stamp problem.

Verification

  • Regression tests for the reserved key and default cache path were red before the change and green afterward.
  • A test verifies that explicit router_model and cache_path reach the System One client.
  • uv run --no-project --with pytest --with pyyaml python -m pytest tests -q: 68 passed on macOS.
  • A locally applied version was live-checked in all five Hermes profiles (default, maic, membr, murmrcore, nyra) with a successful TypeSafe probe per profile. These local profiles use explicit external cache paths until this fix is released.

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