{"repo":"NousResearch/hermes-agent","public_id":"28639","display_label":"Delegate tool handling non-string message content","summary":"These issues and PRs address crashes and incorrect behavior in the delegate task system when tool message content is a list, dict, or content-block structure rather than a plain string. Multiple fix attempts cover different code paths including error detection, tracing, and observability.","subsystem":"agent","counts":{"members":8,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":6},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":40283},"resolution":{"state":"resolved","by":"pr-40283"},"freshness":{"state":"verified","last_verified_at":"2026-06-06T06:34:00+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.25},"fix_edges":[{"issue_number":28639,"pr_number":40283,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":28639,"title":"delegate_task crashes when tool message content is a list","url":null,"state":"closed"},{"kind":"pr","number":28648,"title":"fix(delegate): handle list tool message content in _run_single_child (#28639)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#40283","number":40283}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":28658,"title":"fix(agent): normalize non-string tool content in delegate tool_trace (#28639)","url":null,"state":"closed","close_reason":{"category":"stale_abandoned","implication":"active"},"merged":false},{"kind":"pr","number":28899,"title":"fix(delegate): tolerate non-string tool message content (#28639)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"f83918c31d3900377da5766d011dff8699e66d39","number":0},{"kind":"pr","value":"#40283","number":40283},{"kind":"pr","value":"#28639","number":28639},{"kind":"pr","value":"#40283","number":40283}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":29207,"title":"fix(delegate): handle list-form tool message content (#28639)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#28639","number":28639},{"kind":"pr","value":"#28899","number":28899},{"kind":"pr","value":"#28658","number":28658},{"kind":"pr","value":"#28648","number":28648},{"kind":"pr","value":"#29275","number":29275}],"category":"uncategorized","implication":"needs_llm"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":29275,"title":"fix(delegate): handle list/dict tool message content in _looks_like_error_output","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#40283","number":40283}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":33807,"title":"fix(delegate): handle list-shaped tool message content","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#28639","number":28639},{"kind":"pr","value":"#28899","number":28899},{"kind":"pr","value":"#28639","number":28639},{"kind":"pr","value":"#29275","number":29275},{"kind":"pr","value":"#28648","number":28648},{"kind":"pr","value":"#28639","number":28639}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":40283,"title":"fix(delegate): handle content-block tool results (#28639)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["scripts/release.py","tests/tools/test_delegate.py","tools/delegate_tool.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}