{"repo":"NousResearch/hermes-agent","public_id":"70760","display_label":"Plugin hooks inconsistently invoked across execution surfaces","summary":"These items concern gaps and fixes in when plugin hooks—particularly output transform hooks—are triggered, covering background processes, persistent shell terminals, and other execution surfaces where invocation behavior is inconsistent or missing.","subsystem":"agent","counts":{"members":3,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":118845,"merged_at":"2026-09-22T06:56:26+00:00"},"resolution":{"state":"resolved","by":"pr-118845"},"freshness":{"state":"verified","last_verified_at":"2026-09-22T06:56:26+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":14894,"pr_number":118845,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-22T06:56:26+00:00"},{"issue_number":44239,"pr_number":118845,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-22T06:56:26+00:00"},{"issue_number":70760,"pr_number":118845,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-22T06:56:26+00:00"},{"issue_number":72836,"pr_number":118845,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-22T06:56:26+00:00"},{"issue_number":105279,"pr_number":118845,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-22T06:56:26+00:00"},{"issue_number":108698,"pr_number":118845,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-22T06:56:26+00:00"}],"members":[{"kind":"issue","number":70760,"title":"Bug: transform_terminal_output plugin hook not invoked on persistent-shell terminal path","url":null,"state":"closed"},{"kind":"pr","number":71401,"title":"fix(process): invoke output transform hook on background process results","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"35fdb4608a","number":0},{"kind":"pr","value":"#118845","number":118845}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":118845,"title":"Plugin hooks fire on every surface: gateway slash commands bound + off-loop, transform hooks cover inline runtime tools, background processes and the persisted reply (#108698 #105279 #72836 #70760 #44239)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/agent_runtime_helpers.py","agent/inline_tool_executors.py","agent/tool_executor.py","agent/turn_final_response.py","agent/turn_finalizer.py","gateway/run.py","gateway/run_inbound.py","gateway/run_notifications.py","tests/agent/test_run_agent.py","tests/agent/test_transform_llm_output_persistence.py","tests/gateway/test_session_env.py","tests/gateway/test_unknown_command.py","tests/tools/test_process_registry.py","tests/tui_gateway/test_tui_gateway_server.py","tools/process_registry.py","tui_gateway/methods_tools.py","website/docs/user-guide/features/hooks.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}