{"repo":"NousResearch/hermes-agent","public_id":"62662","display_label":"Classifying status-less streaming provider errors for failover","summary":"The members concern streaming provider errors that arrive without a status_code (for example LM Studio Jinja render errors) and so bypass the 400 classifier, with one issue describing the turn ending silently without failover. The PRs propose classifying these errors as format_error so failover can apply; one also mentions body status codes and auxiliary fallback, and one is noted as superseding an earlier PR.","subsystem":"agent","counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":121547,"merged_at":"2026-09-24T17:06:09+00:00"},"resolution":{"state":"resolved","by":"pr-121547"},"freshness":{"state":"verified","last_verified_at":"2026-09-24T17:06:09+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":62662,"pr_number":121547,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-24T17:06:09+00:00"},{"issue_number":101538,"pr_number":121547,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-24T17:06:09+00:00"},{"issue_number":121270,"pr_number":121547,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-24T17:06:09+00:00"}],"members":[{"kind":"issue","number":62662,"title":"Streaming provider errors with no `status_code` (e.g. LM Studio Jinja render errors) bypass the 400 classifier and never fail over — turn dies silently","url":null,"state":"closed"},{"kind":"pr","number":62673,"title":"fix: classify streaming render errors (no status_code) as format_error for failover","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#64834","number":64834}],"category":"superseded_by_pr","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":64834,"title":"fix: classify streaming render errors as format_error + tests (supersedes #62673)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"c342e78e44","number":0},{"kind":"pr","value":"#121547","number":121547},{"kind":"pr","value":"#62662","number":62662}],"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":121547,"title":"fix(agent): classify status-less in-stream provider errors (body status code, render errors, aux fallback)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/auxiliary_client.py","agent/error_classifier.py","tests/agent/test_auxiliary_client.py","tests/agent/test_error_classifier.py","tests/e2e/core/providers/test_chat_errors.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}