# NousResearch/hermes-agent · Hermes update receipt persistence and reliability fixes

## Open now

- 0 issues, 1 PR open on GitHub.
- PR #112549: fix(update): retain failed update receipts after state loss

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.

## TL;DR

- 5 member(s): 0 open issue(s), 1 closed issue(s), 1 open PR(s), 1 merged PR(s), 2 PR(s) closed without merging.
- A fix was merged to main in PR #113105. Verify it addresses your case.
- **Recommended:** read PR #113105 (and any competing PRs below) before filing. Confirm the merged change covers your symptom.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `unresolved`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_SPANNING`): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
- Pairwise link density `0.40`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Closed / duplicate issues

- #112465: hermes update writes no receipt on v0.21.3 even with the \`hermes_cli.update_\` purge protection in place

## Prior & competing PRs

- **#113105: hermes update always leaves a receipt; a stale-symbol dashboard cleanup crash no longer fails the update (#112604, #112465, #112558)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `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`
- **#112468: fix(update): persist receipts across module-state loss**. closed without merge
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `47685348ea`, `#113105`, `#112465`
- **#112549: fix(update): retain failed update receipts after state loss**. open
  - maintainer direction: category `silent_close`; implication `active`
  - files: `hermes_cli/AGENTS.md`, `hermes_cli/update_inventory.py`, `hermes_cli/update_receipt.py`, `tests/hermes_cli/test_update_receipt.py`, `tests/hermes_cli/test_update_receipt_state_loss.py`, `tests/hermes_cli/test_update_receipt_truthfulness.py`
- **#113159: fix(update): a real update leaves its receipt; receipt write failures are visible (#112465, part of #112558)**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `1259b140c9038`, `5f071fb3adbc8`, `47685348eaca9`

## Fix status

- Merged to main in PR #113105 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-09-16`.
- Subsystem: `hermes_cli`
