mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-27 17:58:07 +00:00
An agent told to work in a fresh git worktree does exactly that — creates it, cds in, and runs every later command there — but the session stayed pinned to the checkout it started in. The desktop kept labelling the chat with the primary branch while all the work landed somewhere else. The desktop half already existed: session.info carrying a moved cwd runs followActiveSessionCwd, which refreshes the project tree and scopes the sidebar into the new project. The backend just never reported the move. Reconcile the session's cwd against terminal_tool's per-session record at the end of a turn, when the agent has stopped moving and its recorded cwd is a stable answer. A plain cd stays what it always was — not a workspace move — so the reconcile only fires when the recorded cwd sits in a different git working tree than the session's workspace. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| _stdin_recovery.py | ||
| compute_host.py | ||
| entry.py | ||
| event_publisher.py | ||
| git_probe.py | ||
| host_supervisor.py | ||
| loop_noise.py | ||
| project_tree.py | ||
| render.py | ||
| server.py | ||
| slash_worker.py | ||
| synthetic_turn.py | ||
| transport.py | ||
| turn_marker.py | ||
| ws.py | ||