{"repo":"NousResearch/hermes-agent","public_id":"124893","display_label":"Gateway identity check edge cases and fixes","summary":"These issues and pull requests address multiple failure modes in the gateway identity check, including unrecognized shim or bootstrap command lines, missing gateway.pid files, and cross-platform launcher detection. The work spans Windows-specific update aborts and broader identity matching gaps across operating systems.","subsystem":null,"counts":{"members":6,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":2,"attempt_prs":3},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":124965},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-09-28T12:58:02+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.3333333333333333},"fix_edges":[{"issue_number":123109,"pr_number":124965,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":123151,"pr_number":126133,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":123430,"pr_number":126133,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":123971,"pr_number":124965,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":124029,"pr_number":124965,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":124029,"pr_number":126133,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":124318,"pr_number":124965,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":124588,"pr_number":124965,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":124659,"pr_number":124965,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":124893,"pr_number":124965,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":124893,"pr_number":126133,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":125610,"pr_number":126133,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":124893,"title":"[Windows] hermes update aborts before fetching: shim-launched gateway command line fails the gateway identity check","url":null,"state":"closed"},{"kind":"pr","number":124900,"title":"fix(gateway): recognize store-launcher shim cmdlines in gateway identity check","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"60e531cb52","number":0},{"kind":"pr","value":"#124965","number":124965},{"kind":"pr","value":"#124965","number":124965},{"kind":"pr","value":"#124318","number":124318},{"kind":"pr","value":"#123331","number":123331}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":124925,"title":"fix(gateway): preserve runtime launcher identity","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"60e531cb52","number":0},{"kind":"pr","value":"#124965","number":124965},{"kind":"pr","value":"#124965","number":124965},{"kind":"pr","value":"#124318","number":124318},{"kind":"pr","value":"#123331","number":123331}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":124965,"title":"fix(gateway): recognise Hermes inline-bootstrap gateways on every OS (salvage #123331)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["gateway/status.py","hermes_cli/gateway_windows.py","hermes_cli/update_cmd_windows.py","hermes_cli/update_fleet_scope.py","tests/e2e/core/windows_update/_machine.py","tests/e2e/core/windows_update/test_gateway_across_update.py","tests/e2e/core/windows_update/test_update_spares_other_installs.py","tests/gateway/test_gateway_inline_bootstrap_identity.py","tests/hermes_cli/test_update_windows_cross_install_gateway.py"]},{"kind":"pr","number":125869,"title":"fix(gateway): tolerate a missing gateway.pid in the strict identity check","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#126133","number":126133},{"kind":"pr","value":"#126133","number":126133}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":126133,"title":"Live gateway identity files survive matcher mismatches; bootstrap-launched record names its entry point; held lock without gateway.pid no longer aborts Windows update (#125610, #124029, #123151, #123430, salvage #125679)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["gateway/status.py","tests/gateway/test_status.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}