# NousResearch/hermes-agent · SHA-less restart obligation never discharges bug/fix

## Open now

- Nothing open on GitHub.

A bug where host restart obligations armed with an empty expected_sha never discharge, causing fleet-restart-pending warnings to persist indefinitely. Members cover the bug report, a broader fix PR addressing this and related update/agent issues, and a targeted fix for discharging SHA-less obligations on live-fleet evidence.

## TL;DR

- 3 member(s): 0 open issue(s), 1 closed issue(s), 0 open PR(s), 1 merged PR(s), 1 PR(s) closed without merging.
- A fix was merged to main in PR #126179. Verify it addresses your case.
- **Recommended:** read PR #126179 (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: `resolved` · deciding PR(s): `pr-126179`. 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.67`: 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

- #125952: \[Bug\]: Host update-restart obligation armed with empty \`expected_sha\` never discharges, so the fleet-restart-pending warning persists forever

## Prior & competing PRs

- **#126179: hermes update stops killing look-alike processes; SHA-less restart obligations, default config migration, lease leaks, agent PATH and Windows SSH home probe fixed (#121156 #125952 #105013 #125609 #124627 #118988)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `apps/desktop/electron/windows-remote-lifecycle.test.ts`, `apps/desktop/electron/windows-remote-lifecycle.ts`, `hermes_cli/dashboard_procs.py`, `hermes_cli/main_dashboard.py`, `hermes_cli/runtime_state.py`, `hermes_cli/update_cmd.py`, `hermes_cli/update_cmd_config.py`, `hermes_cli/update_cmd_fleet.py`, `hermes_cli/update_cmd_windows.py`, `pm/environments.py`, `tests/hermes_cli/test_dashboard_stop_spare_caller.py`, `tests/hermes_cli/test_process_identity_canonical_matchers.py`, `tests/hermes_cli/test_sibling_config_migration.py`, `tests/hermes_cli/test_update_completion_process.py`, `tests/hermes_cli/test_update_fleet_restart_pending.py`, `tests/hermes_cli/test_update_scoped_reconciliation.py`, `tests/hermes_cli/test_venv_holder_classifier.py`, `tests/pm/test_runtime_gc.py`, `tests/pm/test_runtime_selection.py`
- **#125964: fix(update): discharge an SHA-less host restart obligation on live-fleet evidence**. closed without merge
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `e57f6d0f2d`

## Fix status

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