{"repo":"NousResearch/hermes-agent","public_id":"119149","display_label":"Fix unsafe process group signaling edge cases","summary":"These items address a bug where killpg may signal a process group that the child process does not actually lead, covering shared group or recycled PID scenarios. The fix restricts process group signaling to cases where the child is confirmed to lead the group.","subsystem":"agent","counts":{"members":3,"open_issues":0,"open_issues_distinct":0,"open_prs":1,"closed_issues":1,"merged_prs":1,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":131890,"merged_at":"2026-10-05T21:42:59+00:00"},"resolution":{"state":"resolved","by":"pr-131890"},"freshness":{"state":"verified","last_verified_at":"2026-10-05T21:42:59+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":1.0},"fix_edges":[{"issue_number":119149,"pr_number":131890,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-10-05T21:42:59+00:00"}],"members":[{"kind":"issue","number":119149,"title":"killpg fallbacks signal a process group the child may not lead (shared group / recycled PID)","url":null,"state":"closed"},{"kind":"pr","number":119150,"title":"fix(processes): signal a process group only when the child leads it","url":null,"state":"open","close_reason":{"refs":[{"kind":"commit","value":"ed6e6a169a77fe5804ba10b9979d0f3acbfbc7fa","number":0},{"kind":"commit","value":"e2f8a0731bf26e95b31e35d73e71e183a1045b81","number":0},{"kind":"pr","value":"#119149","number":119149},{"kind":"pr","value":"#102518","number":102518},{"kind":"pr","value":"#43046","number":43046},{"kind":"pr","value":"#43135","number":43135}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":131890,"title":"fix(processes): signal a process group only when the child leads it [risk 0.35]","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/verify/runner.py","hermes_cli/pty_bridge.py","tests/hermes_cli/test_pty_bridge.py","tests/tools/test_browser_process_tree.py","tests/tools/test_local_setsid_descendant_sweep.py","tests/tools/test_process_registry.py","tests/verify/test_environment_and_runner.py","tools/browser_tool_lifecycle.py","tools/process_registry.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}