{"repo":"NousResearch/hermes-agent","public_id":"75788","display_label":"Windows update pipeline deadlocks and orphan process fixes","summary":"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.","subsystem":"apps/bootstrap-installer","counts":{"members":6,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":4,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":92013},"resolution":{"state":"resolved","by":"pr-95069"},"freshness":{"state":"verified","last_verified_at":"2026-08-27T00:42:59+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.3333333333333333},"fix_edges":[{"issue_number":61514,"pr_number":92013,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":61514,"pr_number":95069,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":61514,"pr_number":95313,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":61514,"pr_number":95949,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":70337,"pr_number":92013,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":70337,"pr_number":95069,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":70337,"pr_number":95313,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":70337,"pr_number":95949,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":74805,"pr_number":92013,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":74805,"pr_number":95069,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":74805,"pr_number":95313,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":74805,"pr_number":95949,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":75788,"pr_number":92013,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":75788,"pr_number":95069,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":75788,"pr_number":95313,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":75788,"pr_number":95949,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":77277,"pr_number":92013,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":87304,"pr_number":92013,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":75788,"title":"Windows installer Hermes-Setup.exe built from stale commit: missing HERMES_UPDATE_HANDOFF_PID fix (8c76fe19f), in-app update deadlocks","url":null,"state":"closed"},{"kind":"pr","number":78037,"title":"fix: Windows update pipeline — first-attempt race, marker deadlock, orphaned venv helpers, ZIP-fallback binary loss","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"b04f8578eb68","number":0},{"kind":"commit","value":"e1e72f109c95","number":0},{"kind":"pr","value":"#91277","number":91277},{"kind":"pr","value":"#74805","number":74805},{"kind":"pr","value":"#95313","number":95313},{"kind":"pr","value":"#75788","number":75788},{"kind":"pr","value":"#95069","number":95069},{"kind":"pr","value":"#61514","number":61514},{"kind":"pr","value":"#95949","number":95949},{"kind":"pr","value":"#92013","number":92013}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":92013,"title":"fix(update): ZIP fallback no longer destroys user work or the desktop build (#87331, #91962, #87304, #70337 — salvage #87878 + #70477)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["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"]},{"kind":"pr","number":95069,"title":"fix(bootstrap): stale checkouts can no longer deadlock the in-app updater against its own marker (#75788, salvage #78037)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/bootstrap-installer/src-tauri/src/update.rs"]},{"kind":"pr","number":95313,"title":"fix(desktop): first Windows update attempt no longer fails on the app's own dying backends (#74805, salvage #78037)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["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"]},{"kind":"pr","number":95949,"title":"fix(mcp): stdio helper children join the spawn ledger — orphans get reaped (#61514, completes #78037)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["hermes_cli/process_identity.py","hermes_cli/web_server.py","tests/hermes_cli/test_mcp_helper_ledger.py","tools/mcp_tool.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}