{"repo":"NousResearch/hermes-agent","public_id":"69078","display_label":"Image 400 error recovery to prevent session bricking","summary":"These issues and fixes address cases where invalid or corrupt image errors (400 responses) from AI providers permanently break agent sessions. The work involves detecting such errors and retrying with stripped images instead of halting the session.","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":97059,"merged_at":"2026-08-28T10:46:26+00:00"},"resolution":{"state":"resolved","by":"pr-97059"},"freshness":{"state":"verified","last_verified_at":"2026-08-28T10:46:26+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":69078,"pr_number":97059,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-28T10:46:26+00:00"}],"members":[{"kind":"issue","number":69078,"title":"[Bug]: xAI grok-4.5 'Invalid PNG image' 400 permanently bricks session — evades all image-recovery matchers; source image verified valid (xAI variant of #25837)","url":null,"state":"closed"},{"kind":"pr","number":69104,"title":"fix(agent): recover from xAI Invalid PNG image 400 that permanently bricks sessions","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#97059","number":97059},{"kind":"pr","value":"#81326","number":81326},{"kind":"pr","value":"#29864","number":29864},{"kind":"pr","value":"#69078","number":69078}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":97059,"title":"fix(agent): corrupt-image 400s recover via strip-and-retry instead of bricking the session (#69078, salvage #69104)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/conversation_loop.py","agent/error_classifier.py","contributors/emails/[redacted:email]","contributors/emails/fkdls112@users.noreply.github.com","tests/agent/test_error_classifier.py","tests/run_agent/test_69078_image_corrupt_recovery.py","tests/run_agent/test_image_rejection_fallback.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}