{"repo":"NousResearch/hermes-agent","public_id":"94143","display_label":"Inverted liveness checks causing false dead reports","summary":"A cluster of bugs and fixes around liveness/health checks that were incorrectly inverted or misapplied, causing running processes (cron gateway, stdio MCP children) to be falsely reported as dead or not running. Fixes address the probe logic and lock-based liveness detection.","subsystem":null,"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":96214,"merged_at":"2026-08-27T10:40:58+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-08-27T10:40:58+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":18631,"pr_number":96214,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-27T10:40:58+00:00"},{"issue_number":94143,"pr_number":94339,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-27T08:38:20+00:00"},{"issue_number":94143,"pr_number":96214,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-27T10:40:58+00:00"},{"issue_number":94335,"pr_number":94339,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-27T08:38:20+00:00"},{"issue_number":94637,"pr_number":94339,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-27T08:38:20+00:00"},{"issue_number":95270,"pr_number":94339,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-27T08:38:20+00:00"},{"issue_number":95395,"pr_number":94339,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-27T08:38:20+00:00"},{"issue_number":95668,"pr_number":94339,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-27T08:38:20+00:00"}],"members":[{"kind":"issue","number":94143,"title":"bug(cron): cronjob tool reports gateway_running: false from inside a running gateway (systemd user unit) — jobs DO fire","url":null,"state":"closed"},{"kind":"pr","number":94155,"title":"fix(cron): stop the cronjob tool probing its own gateway as dead","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#96214","number":96214},{"kind":"pr","value":"#95947","number":95947},{"kind":"pr","value":"#13242","number":13242},{"kind":"pr","value":"#94143","number":94143},{"kind":"pr","value":"#94339","number":94339}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":94339,"title":"fix(mcp): un-invert the stdio children liveness check","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["tests/tools/test_mcp_stdio_children_dead.py","tools/mcp_tool.py"]},{"kind":"pr","number":96214,"title":"fix(cron): trust the gateway runtime lock for builtin-ticker liveness (salvage #95947)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["contributors/emails/[redacted:email]","hermes_cli/cron.py","tests/cron/test_87033_cronjob_gateway_liveness.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}