{"repo":"NousResearch/hermes-agent","public_id":"92163","display_label":"Fix quadratic cost when accumulating streamed reply text","summary":"These items address a performance problem where streamed assistant reply text was being rebuilt from scratch on every incoming delta, causing the total work per turn to scale with the square of the reply length. The changes propose accumulating text as parts instead of concatenating repeatedly.","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":101707,"merged_at":"2026-09-02T23:16:42+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-09-02T23:16:42+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":92163,"pr_number":101707,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-02T23:16:42+00:00"}],"members":[{"kind":"issue","number":92163,"title":"[Bug]: streamed assistant text is rebuilt on every delta, making a turn cost the square of the reply length","url":null,"state":"closed"},{"kind":"pr","number":92166,"title":"perf(agent): stop rebuilding the streamed reply text on every delta","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"7caee2898b","number":0},{"kind":"pr","value":"#101707","number":101707}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":101707,"title":"perf(agent): accumulate streamed reply text as parts instead of rebuilding per delta (salvage #92166)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["run_agent.py","tests/run_agent/test_streamed_text_accumulation.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}