{"repo":"NousResearch/hermes-agent","public_id":"10721","display_label":"Summary model fallback retry passes wrong arguments bug","summary":"Multiple issues and fix attempts targeting a NameError and incorrect argument passing (focus_topic vs summary_budget) in the context compressor's summary model fallback retry path. The cluster represents one recurring bug reported and patched several times across overlapping PRs.","subsystem":"agent","counts":{"members":11,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":2,"merged_prs":1,"attempt_prs":8},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":14244},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"stale","last_verified_at":"2026-04-23T00:57:13+00:00","is_stale":true},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.17018181818181818},"fix_edges":[{"issue_number":10721,"pr_number":14244,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false}],"members":[{"kind":"issue","number":10721,"title":"Bug: summary model fallback crashes with NameError due to wrong arguments in _generate_summary","url":null,"state":"closed"},{"kind":"issue","number":13905,"title":"Context compressor summary fallback retry passes wrong arguments","url":null,"state":"closed"},{"kind":"pr","number":10724,"title":"fix: pass correct arguments in summary model fallback retry","url":null,"state":"closed","close_reason":{"category":"partial_fix","implication":"needs_llm"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":10767,"title":"fix(compressor): fix NameError in summary model fallback retry","url":null,"state":"closed","close_reason":{"category":"uncategorized","implication":"needs_llm"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":10777,"title":"fix: batch fix for 4 issues (#10721, #10755, #10723, #10748)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"c03858733","number":0},{"kind":"commit","value":"45e1228a8","number":0},{"kind":"commit","value":"50d438d12","number":0},{"kind":"commit","value":"d67e602cc","number":0},{"kind":"commit","value":"d4eba82a3","number":0},{"kind":"commit","value":"3b5572ded","number":0},{"kind":"pr","value":"#10721","number":10721},{"kind":"pr","value":"#10755","number":10755},{"kind":"pr","value":"#10723","number":10723},{"kind":"pr","value":"#10843","number":10843},{"kind":"pr","value":"#10748","number":10748}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":11273,"title":"fix 10721: fix NameError in summary model fallback path","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"c03858733","number":0},{"kind":"commit","value":"c03858733d7f13f5d7b1de0c235ca106632f4131","number":0},{"kind":"pr","value":"#10724","number":10724},{"kind":"pr","value":"#14244","number":14244}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":11412,"title":"fix(agent): pass focus_topic not summary_budget in compressor fallback","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"c03858733","number":0},{"kind":"commit","value":"c03858733d7f13f5d7b1de0c235ca106632f4131","number":0},{"kind":"pr","value":"#14244","number":14244}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":13906,"title":"fix(agent): preserve focus topic in summary fallback retry","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"c03858733","number":0},{"kind":"pr","value":"#13907","number":13907},{"kind":"pr","value":"#13959","number":13959}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":13907,"title":"fix(context-compressor): preserve focus_topic in summary model fallback retry (#13905)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"c03858733","number":0},{"kind":"commit","value":"c03858733d7f13f5d7b1de0c235ca106632f4131","number":0},{"kind":"pr","value":"#13906","number":13906},{"kind":"pr","value":"#13959","number":13959}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":13959,"title":"fix(compressor): preserve focus_topic on summary model fallback retry","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"c03858733d7f13f5d7b1de0c235ca106632f4131","number":0},{"kind":"pr","value":"#13906","number":13906},{"kind":"pr","value":"#13907","number":13907}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":14244,"title":"fix(compressor): preserve focus_topic on summary-model fallback retry (salvage #10724)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/context_compressor.py","scripts/release.py"],"fix_hunks":[{"file":"agent/context_compressor.py","hunks":["@@ -848,7 +848,7 @@ def _generate_summary(self, turns_to_summarize: List[Dict[str, Any]], focus_topi\n                 )\n                 self.summary_model = \"\"  # empty = use main model\n                 self._summary_failure_cooldown_until = 0.0  # no cooldown\n-                return self._generate_summary(turns_to_summarize)  # retry immediately\n+                return self._generate_summary(turns_to_summarize, focus_topic=focus_topic)  # retry immediately\n \n             # Transient errors (timeout, rate limit, network) — shorter cooldown\n             _transient_cooldown = 60"]},{"file":"scripts/release.py","hunks":["@@ -364,6 +364,7 @@\n     \"[redacted:email]\": \"ms-alan\",\n     \"[redacted:email]\": \"WuTianyi123\",\n     \"[redacted:email]\": \"li0near\",\n+    \"[redacted:email]\": \"sicnuyudidi\",\n }\n \n \n"]}]}],"trust":{"default_tier":"verified","includes_suggested":false}}