{"repo":"NousResearch/hermes-agent","public_id":"112465","display_label":"Hermes update receipt persistence and reliability fixes","summary":"These issues and PRs address scenarios where Hermes update receipts were not written or were lost, including cases involving module-state loss, `failed` updates, and dashboard cleanup crashes. The work focuses on ensuring receipts are consistently persisted and that write failures are surfaced.","subsystem":"hermes_cli","counts":{"members":5,"open_issues":0,"open_issues_distinct":0,"open_prs":1,"closed_issues":1,"merged_prs":1,"attempt_prs":3},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":113105,"merged_at":"2026-09-16T18:06:53+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-09-16T18:06:53+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.4},"fix_edges":[{"issue_number":112465,"pr_number":113105,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-16T18:06:53+00:00"}],"members":[{"kind":"issue","number":112465,"title":"hermes update writes no receipt on v0.21.3 even with the `hermes_cli.update_` purge protection in place","url":null,"state":"closed"},{"kind":"pr","number":112468,"title":"fix(update): persist receipts across module-state loss","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"47685348ea","number":0},{"kind":"pr","value":"#113105","number":113105},{"kind":"pr","value":"#112465","number":112465}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":112549,"title":"fix(update): retain failed update receipts after state loss","url":null,"state":"open","close_reason":{"category":"silent_close","implication":"active"},"merged":false},{"kind":"pr","number":113105,"title":"hermes update always leaves a receipt; a stale-symbol dashboard cleanup crash no longer fails the update (#112604, #112465, #112558)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["hermes_cli/AGENTS.md","hermes_cli/update_cmd_maint.py","hermes_cli/update_receipt.py","tests/hermes_cli/test_update_receipt.py","tests/hermes_cli/test_update_stale_dashboard.py","tests/hermes_cli/test_update_stale_module_purge.py"]},{"kind":"pr","number":113159,"title":"fix(update): a real update leaves its receipt; receipt write failures are visible (#112465, part of #112558)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"1259b140c9038","number":0},{"kind":"commit","value":"5f071fb3adbc8","number":0},{"kind":"commit","value":"47685348eaca9","number":0}],"category":"superseded_by_pr","implication":"superseded"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}