# NousResearch/hermes-agent · Windows update pipeline deadlocks and orphan process fixes

## Open now

- Nothing open on GitHub.

These items address several related Windows update reliability issues: deadlocks caused by stale checkouts or marker files, race conditions on first update attempts, orphaned helper processes not being reaped, and ZIP fallback behavior that could destroy build artifacts or user work.

## TL;DR

- 6 member(s): 0 open issue(s), 1 closed issue(s), 0 open PR(s), 4 merged PR(s), 1 PR(s) closed without merging.
- A fix was merged to main in PR #92013. Verify it addresses your case.
- **Recommended:** read PR #92013 (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-95069`. 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.33`: 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

- #75788: Windows installer Hermes-Setup.exe built from stale commit: missing HERMES_UPDATE_HANDOFF_PID fix (8c76fe19f), in-app update deadlocks

## Prior & competing PRs

- **#92013: fix(update): ZIP fallback no longer destroys user work or the desktop build (#87331, #91962, #87304, #70337 — salvage #87878 + #70477)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `hermes_cli/update_cmd.py`, `tests/hermes_cli/test_cmd_update.py`, `tests/hermes_cli/test_update_zip_fallback_guards.py`, `tests/hermes_cli/test_update_zip_release_preserve.py`, `tests/hermes_cli/test_update_zip_symlink_reject.py`
- **#95069: fix(bootstrap): stale checkouts can no longer deadlock the in-app updater against its own marker (#75788, salvage #78037)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `apps/bootstrap-installer/src-tauri/src/update.rs`
- **#95313: fix(desktop): first Windows update attempt no longer fails on the app's own dying backends (#74805, salvage #78037)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `apps/desktop/electron/backend-release-gate.test.ts`, `apps/desktop/electron/backend-release-gate.ts`, `apps/desktop/electron/backend-release-gate.windows-live.test.ts`, `apps/desktop/electron/main.ts`
- **#95949: fix(mcp): stdio helper children join the spawn ledger — orphans get reaped (#61514, completes #78037)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `hermes_cli/process_identity.py`, `hermes_cli/web_server.py`, `tests/hermes_cli/test_mcp_helper_ledger.py`, `tools/mcp_tool.py`
- **#78037: fix: Windows update pipeline — first-attempt race, marker deadlock, orphaned venv helpers, ZIP-fallback binary loss**. closed without merge
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `b04f8578eb68`, `e1e72f109c95`, `#91277`, `#74805`, `#95313`, `#75788`, `#95069`, `#61514`, `#95949`, `#92013`

## Fix status

- Merged to main in PR #92013 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-08-27`.
- Subsystem: `apps/bootstrap-installer`
