{"repo":"NousResearch/hermes-agent","public_id":"86443","display_label":"Desktop rebuild failure handling in update process","summary":"These issues and PRs address a bug where a failing Desktop rebuild during updates could delete the working application while incorrectly reporting success. The work focuses on preserving the existing app on rebuild errors and propagating the correct exit status.","subsystem":"apps/desktop","counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":2,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":101336,"merged_at":"2026-09-02T13:53:21+00:00"},"resolution":{"state":"resolved","by":"pr-101336"},"freshness":{"state":"verified","last_verified_at":"2026-09-02T13:53:21+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":44225,"pr_number":101336,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-02T13:53:21+00:00"},{"issue_number":46883,"pr_number":101336,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-02T13:53:21+00:00"},{"issue_number":86443,"pr_number":89838,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-19T07:44:51+00:00"},{"issue_number":86443,"pr_number":101336,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-02T13:53:21+00:00"},{"issue_number":88251,"pr_number":89838,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-19T07:44:51+00:00"}],"members":[{"kind":"issue","number":86443,"title":"hermes update deletes the packaged Desktop app and exits 0 when the desktop rebuild fails","url":null,"state":"closed"},{"kind":"pr","number":87984,"title":"fix(update): propagate desktop rebuild failure into hermes update's exit status","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#89838","number":89838},{"kind":"pr","value":"#88359","number":88359}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":89838,"title":"fix(update): don't report success when the Desktop rebuild failed (supersedes #88359, #87984)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["hermes_cli/update_cmd.py","tests/hermes_cli/test_update_desktop_stale_warning.py"]},{"kind":"pr","number":101336,"title":"fix(update): Desktop rebuild stages and swaps so a failed pack never removes the working app (#86443, salvage #44234/#78431)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":[".gitignore","contributors/emails/deathxdefeat@users.noreply.github.com","hermes_cli/main.py","tests/hermes_cli/test_desktop_exe_integrity.py","tests/hermes_cli/test_gui_command.py","website/docs/getting-started/updating.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}