{"repo":"NousResearch/hermes-agent","public_id":"27602","display_label":"Legacy vs new HERMES_HOME dir layout resolution fixes","summary":"These issues and patches address a bug where empty legacy directory paths silently shadow or override populated new-path directories when resolving HERMES_HOME layout. Fixes adjust the resolver to prefer whichever path actually contains data.","subsystem":"agent","counts":{"members":6,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":2,"merged_prs":1,"attempt_prs":3},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":53319},"resolution":{"state":"resolved","by":"pr-53319"},"freshness":{"state":"verified","last_verified_at":"2026-06-26T23:27:16+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.35733333333333334},"fix_edges":[{"issue_number":27602,"pr_number":53319,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":27715,"pr_number":53319,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":27602,"title":"Gateway silently abandons populated platforms/pairing/ when empty pairing/ dir exists in HERMES_HOME","url":null,"state":"closed"},{"kind":"issue","number":27715,"title":"get_hermes_dir backward-compat resolver silently shadows new-path data with empty old-path dirs","url":null,"state":"closed"},{"kind":"pr","number":27610,"title":"fix(hermes-home): only honour legacy dir layout when it has content","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#53319","number":53319},{"kind":"pr","value":"#53319","number":53319}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":28730,"title":"fix(hermes_constants): prefer new path in get_hermes_dir when both exist","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"2d8c44ac87cec6cf9ebb93a85b488df6a8bc10ee","number":0}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":40595,"title":"fix(constants): get_hermes_dir resolver picks the layout with real data","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#27602","number":27602},{"kind":"pr","value":"#53319","number":53319}],"category":"uncategorized","implication":"needs_llm"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":53319,"title":"fix(hermes-home): only honour legacy dir layout when it has content","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["hermes_constants.py","tests/test_hermes_constants.py","tests/tools/test_credential_files.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}