Files
hermes-agent/agent
teknium1 1764508c16 fix(tui): project-local skills register and dispatch for the session's repo
TUI/desktop RPC handlers (commands.catalog, command.dispatch, slash.exec's
skill routing guard) run on the socket thread with no session context; the
terminal scope (and gateway.run's import-time bridge) resolve a placeholder
terminal.cwd to $HOME, so project skills under <repo>/.hermes/skills never
registered and `/<name>` failed with "not a quick/plugin/bundle/skill
command" even though the session's workspace was the repo (#114359).

- tui_gateway/methods_tools.py: _session_home_scope also binds the session's
  cwd (runtime_cwd.set_session_cwd) for the block; commands.catalog binds the
  calling session's workspace (_completion_cwd: its record, else the cwd a
  new session would be seeded with) around skill discovery.
- agent/skill_commands.py: the cached registry is tagged by project root too,
  so two sessions in two repos in one process each see their own skills
  instead of the first scan's.
- agent/runtime_cwd.py: reset_session_cwd(token) twin for set_session_cwd.

The multiplex guarantee from 9c9e7ab6e5 is untouched: a served profile's
turn still resolves ITS scope cwd, and the process cwd is only ever the last
fallback; the session cwd that now wins is the session's own workspace.

Co-authored-by: Mohamad Kanso <91088196+MohamadKanso@users.noreply.github.com>
Co-authored-by: sum117 <75037449+sum117@users.noreply.github.com>
2026-09-18 10:22:47 -07:00
..
…
…