{"repo":"NousResearch/hermes-agent","public_id":"75206","display_label":"Auth store wrongly wiped on transient read errors","summary":"A bug where transient read errors (such as EMFILE or EACCES) are misclassified as credential store corruption, risking erasure of all stored credentials. The members address identifying and fixing this misclassification to preserve the credential store.","subsystem":null,"counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":75258,"merged_at":"2026-08-01T05:34:53+00:00"},"resolution":{"state":"resolved","by":"pr-75258"},"freshness":{"state":"verified","last_verified_at":"2026-08-01T05:34:53+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":75206,"pr_number":75258,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-01T05:34:53+00:00"}],"members":[{"kind":"issue","number":75206,"title":"[Bug]: auth: a transient read failure (EMFILE/EACCES) is classified as corruption and returns an empty store — one save away from wiping all credentials","url":null,"state":"closed"},{"kind":"pr","number":75236,"title":"fix(auth): preserve store on transient read errors","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#75887","number":75887},{"kind":"pr","value":"#75258","number":75258}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":75258,"title":"fix(auth): a transient read failure is not corruption","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["hermes_cli/auth.py","tests/hermes_cli/test_auth_store_read_failure.py"]},{"kind":"pr","number":75887,"title":"fix(auth): preserve the credential store on transient read errors","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#75258","number":75258},{"kind":"pr","value":"#75236","number":75236},{"kind":"pr","value":"#75206","number":75206}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}