Files
hermes-agent/hermes_cli
teknium1 47b58634c3 fix(profiles): @profile completion never walks skill trees; drop dead OSError guard; pin router + completion in the walk-free test
- tui_gateway/methods_complete.py::_profile_mention_items runs per keystroke
  (complete.path / complete.slash) and reads only name/description, yet
  called list_profiles() synchronously: a cold or expired skill-count cache
  stalled TUI input for the full multi-profile walk. Pass
  lazy_skill_count=True like the other interactive callers (#114041).
- hermes_cli/profiles.py::_walk_skill_count: the try/except OSError could
  not fire — os.walk (onerror=None) swallows scandir errors and
  read_active_org_id already catches OSError. Removed; the docstring now
  names os.walk's error swallowing as the reason the walk is best-effort.
- tests/hermes_cli/test_profiles.py: the walk-free test drove only the
  profiles.list RPC seam. It now also drives GET /api/profiles through a
  TestClient and _profile_mention_items with a cold cache under the same
  spy, so reverting either caller to a synchronous list_profiles() goes red
  (verified: router@origin/main -> walk on 'AnyIO worker thread';
  methods_complete@HEAD -> walk on 'MainThread').
2026-09-18 10:18:40 -07:00
..
…
…
…
…