Files
hermes-webui/api
webtecnica 86c2252dc8 fix(profiles): report skill stats as unknown when agent source is unmounted (#7305)
Review follow-up on the #7305 regression fix.

- Drop the local shadow of ``agent.skill_utils`` (an ``os.walk`` +
  frontmatter parser + always-True platform filter). A local re-implementation
  cannot preserve the index walk's directory exclusions, frontmatter-name
  identity or platform filtering, so it reported inaccurate counts: a SKILL.md
  declared for another platform was counted as enabled, and support /
  dependency / VCS / inactive org-mirror files were counted as skills.
- The Agent-absent branch now reports the stats as unknown — a stable
  ``(0, 0)``. GET /api/profiles still cannot 500, and the picker never shows a
  count it cannot verify (the UI omits the skills line when the total is 0).
- Tests now pin that contract: force ``ImportError`` for ``agent.skill_utils``
  (and ``hermes_cli``) and assert the unknown-stats result, the fallback row
  from ``_default_profile_dict()``, and the isolated-mode ``/api/profiles``
  path end to end. The fixture reproduces the shapes a partial local scan gets
  wrong — a directory name differing from the declared ``name``, two
  directories declaring the same name, a declared name disabled for the webui
  platform, a platform-incompatible skill, and the paths the index walk prunes
  (support dirs of a skill package, dependency/VCS/metadata dirs, an inactive
  org mirror) — and a positive control runs the same tree through the real
  Agent-backed path so the fixture cannot degrade into a tree with nothing to
  count.
2026-09-11 18:17:38 -03:00
..