{"repo":"NousResearch/hermes-agent","public_id":"31033","display_label":"USER_OWNED_EXCLUDE incorrectly filtering nested directories","summary":"A bug where USER_OWNED_EXCLUDE entries are applied at all directory levels during profile distribution copy, causing nested directories with matching names to be silently dropped. Multiple fixes scope this exclusion to the root level only.","subsystem":"hermes_cli","counts":{"members":7,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":2,"merged_prs":1,"attempt_prs":4},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":41651},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-06-08T04:50:58+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.25523809523809526},"fix_edges":[{"issue_number":37954,"pr_number":41651,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":38032,"pr_number":41651,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":38085,"pr_number":41651,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":38865,"pr_number":41651,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":39346,"pr_number":41651,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":41036,"pr_number":41651,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":41072,"pr_number":41651,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":41119,"pr_number":41651,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false}],"members":[{"kind":"issue","number":31033,"title":"[Bug]: hermes profile install --force deletes nested distribution-owned files under skills/<category>/hermes-agent/","url":null,"state":"closed"},{"kind":"issue","number":37954,"title":"[Bug]: distribution install/update silently drops nested directories whose names match USER_OWNED_EXCLUDE entries (bin, logs, cache, etc.)","url":null,"state":"closed"},{"kind":"pr","number":31123,"title":"fix(cli): scope USER_OWNED_EXCLUDE to root in profile distribution copy","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"e53b74c39450d85d210ba06e69be5022278eb974","number":0}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":37958,"title":"fix(profile-dist): restrict USER_OWNED_EXCLUDE copytree ignore to root level","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"e53b74c39450d85d210ba06e69be5022278eb974","number":0},{"kind":"pr","value":"#37954","number":37954},{"kind":"pr","value":"#37998","number":37998}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":37998,"title":"fix: only apply USER_OWNED_EXCLUDE at staged-tree root in copytree (#37954)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"e53b74c39450d85d210ba06e69be5022278eb974","number":0},{"kind":"pr","value":"#37958","number":37958}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":38063,"title":"fix(dist): stop USER_OWNED_EXCLUDE from filtering nested directories during install","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#41651","number":41651}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":41651,"title":"fix: batch salvage of 10 low-risk fixes (@islam666)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/context_compressor.py","agent/image_routing.py","agent/model_metadata.py","gateway/platforms/weixin.py","hermes_cli/gateway.py","hermes_cli/profile_distribution.py","hermes_cli/profiles.py","hermes_cli/web_server.py","plugins/google_meet/meet_bot.py","plugins/model-providers/xiaomi/__init__.py","providers/base.py","run_agent.py","scripts/release.py","tests/agent/test_custom_providers_vision.py","tests/agent/test_model_metadata.py","tests/gateway/test_weixin_typing.py","tests/hermes_cli/test_profile_distribution.py","tests/hermes_cli/test_systemd_optional_directives.py","tests/hermes_cli/test_web_server.py","tests/run_agent/test_infinite_compaction_loop.py","tests/run_agent/test_multimodal_tool_content_recovery.py","tests/run_agent/test_vision_tool_messages.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}