{"repo":"NousResearch/hermes-agent","public_id":"83390","display_label":"Fix title generation failures on strict/reasoning models","summary":"These issues and fixes address auxiliary title generation breaking on DeepSeek and reasoning models due to unsupported structured output formats, HTTP 400 errors, and truncated or malformed responses. The work improves fallback handling and ensures titles are correctly derived from reasoning content.","subsystem":"agent","counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":2,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":113966,"merged_at":"2026-09-17T16:11:39+00:00"},"resolution":{"state":"resolved","by":"pr-113966"},"freshness":{"state":"verified","last_verified_at":"2026-09-17T16:11:39+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":82291,"pr_number":113960,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-17T16:07:09+00:00"},{"issue_number":82816,"pr_number":113966,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-17T16:11:39+00:00"},{"issue_number":83390,"pr_number":113960,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-17T16:07:09+00:00"},{"issue_number":83390,"pr_number":113966,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-17T16:11:39+00:00"},{"issue_number":83903,"pr_number":113960,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-17T16:07:09+00:00"},{"issue_number":84976,"pr_number":113966,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-17T16:11:39+00:00"},{"issue_number":88830,"pr_number":113966,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-17T16:11:39+00:00"},{"issue_number":102849,"pr_number":113966,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-17T16:11:39+00:00"},{"issue_number":105191,"pr_number":113966,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-17T16:11:39+00:00"},{"issue_number":110631,"pr_number":113966,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-17T16:11:39+00:00"},{"issue_number":113064,"pr_number":113966,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-17T16:11:39+00:00"}],"members":[{"kind":"issue","number":83390,"title":"Auxiliary title_generation fails on DeepSeek: HTTP 400 \"This response_format type is unavailable now\"","url":null,"state":"closed"},{"kind":"pr","number":85424,"title":"fix(agent): make title generation work for reasoning models and strict local providers","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"eff18764ff1","number":0},{"kind":"pr","value":"#113960","number":113960}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":113960,"title":"fix(aux): session auto-titles land from reasoning_content and never store truncated JSON fragments (#82291, #83903, salvage #96122 #83985 #85424)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/title_generator.py","tests/agent/test_title_generator.py"]},{"kind":"pr","number":113966,"title":"fix(aux): structured-output 400s no longer kill fallback candidates or cost a doomed first request on DeepSeek (#83390, #105191, salvage #92908)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/auxiliary_client.py","agent/auxiliary_structured_output.py","plugins/model-providers/deepseek/__init__.py","providers/base.py","tests/agent/conftest.py","tests/agent/test_auxiliary_structured_output.py","website/docs/developer-guide/model-provider-plugin.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}