{"repo":"NousResearch/hermes-agent","public_id":"60084","display_label":"Tool-loop guardrail improvements for content repetition","summary":"These issues and PRs address gaps in tool-call loop detection, specifically cases where arguments vary but tool results remain the same or repeat. Work spans bug reports, warning-first approaches, and fixes for content-based repetition detection.","subsystem":"agent","counts":{"members":7,"open_issues":2,"open_issues_distinct":2,"open_prs":0,"closed_issues":0,"merged_prs":0,"attempt_prs":5},"landed_fix":null,"resolution":{"state":"unresolved","by":null},"freshness":{"state":"never_verified","last_verified_at":null,"is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.2552380952380952},"fix_edges":[],"members":[{"kind":"issue","number":60084,"title":"[Bug]: Tool-loop guardrails miss loops where args vary but the result never changes (incl. repeated multimodal results)","url":null,"state":"open"},{"kind":"issue","number":67889,"title":"tool_loop_guardrails cannot detect thrashing on the terminal tool — three compounding gaps","url":null,"state":"open"},{"kind":"pr","number":60087,"title":"feat(guardrails): detect repeated tool results independent of args/failure","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"37c27b6a5","number":0},{"kind":"pr","value":"#60084","number":60084},{"kind":"pr","value":"#78551","number":78551},{"kind":"pr","value":"#60084","number":60084}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":60148,"title":"fix(tool-guardrails): detect content repetition across varying argument sets (#60084)","url":null,"state":"closed","close_reason":{"category":"stale_abandoned","implication":"active"},"merged":false},{"kind":"pr","number":60219,"title":"fix(tool-guardrails): detect content-repetition loops across varying args (#60084)","url":null,"state":"closed","close_reason":{"category":"stale_abandoned","implication":"active"},"merged":false},{"kind":"pr","number":60268,"title":"fix(guardrails): detect content-based repetition loops even when args vary (#60084)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#60087","number":60087},{"kind":"pr","value":"#60084","number":60084},{"kind":"pr","value":"#60087","number":60087},{"kind":"pr","value":"#60219","number":60219},{"kind":"pr","value":"#60094","number":60094},{"kind":"pr","value":"#60148","number":60148}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":60285,"title":"fix(agent): detect same-result tool loops even when args vary","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#60087","number":60087}],"category":"duplicate_of","implication":"duplicate"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}