Conversation
98387ca to
0ea5d9b
Compare
b5c36c8 to
4e4c288
Compare
|
Autofix follow-up for the blocked CI:
Local verification:
|
|
Autofix follow-up for the latest failures on
Local verification:
|
teknium1
left a comment
There was a problem hiding this comment.
Thanks for tackling this. The premise still holds on current main: skill prompts and skill_view() can expose host skill paths, while Docker mounts local skills at /root/.hermes/skills.
Problems
- tools/credential_files.py:275 in this PR builds the returned Docker path with pathlib.Path. On native Windows hosts that can render backslashes, but the returned string is meant for a Linux container. Current main's cache-path translator uses posixpath.join and rel.as_posix() for the same reason at tools/credential_files.py:379-400.
Suggested changes
- Build the translated skill path with a POSIX-only join, such as posixpath.join(container_base.rstrip('/'), 'skills', rel.as_posix()).
- Preserve the internal agent_visible_paths=False path in agent/skill_commands.py so slash/bundle loaders keep host paths for supporting-file discovery.
Automated hermes-sweeper review.
| except Exception: | ||
| return host_path | ||
|
|
||
| return str(Path(container_base.rstrip("/")) / "skills" / rel) |
There was a problem hiding this comment.
This should use a POSIX-only join. pathlib.Path renders with host-platform separators, so native Windows can return \root\.hermes\skills\... here even though the string is for a Linux Docker container. posixpath.join(container_base.rstrip('/'), 'skills', rel.as_posix()) matches the existing cache-path mapper pattern.
…ill-paths-pr # Conflicts: # tests/tools/test_credential_files.py
|
Thanks for addressing the canonical Docker skill path and for preserving host paths for internal slash-loader operations. The current main defect is real: Problems
Suggested changes
Automated hermes-sweeper review. |
|
Follow-up pushed in What changed:
Tests added:
Validation:
|
Summary
$HERMES_HOME/skillsto Docker-visible paths when exposing them to the agent/root/.hermes/skills/...in model-visible payloadsskill_view()path behaviorWhy
When Hermes runs inside Docker, model-visible skill metadata could include host-absolute skill paths. Those paths are invalid inside the container and leak host filesystem layout. This change makes model-visible skill paths match the Docker-mounted location while preserving host paths for internal operations.
How to test
/root/.hermes/skills/...rather than host$HERMES_HOMEpaths.Validation
scripts/run_tests.sh tests/agent/test_skill_commands.py tests/tools/test_skills_tool.py -qPlatforms tested