refactor: remove reasoning title extraction from chat pipeline (#22926)

Removes the backend and frontend logic that extracted compact titles
from reasoning/thinking blocks. The `Title` field on `ChatMessagePart`
remains for other part types (e.g. source), but reasoning blocks no
longer have titles derived from first-line markdown bold text or
provider metadata summaries.

**Backend:**
- Remove `ReasoningTitleFromFirstLine`, `reasoningTitleFromContent`,
`reasoningSummaryTitle`, `compactReasoningSummaryTitle`, and
`reasoningSummaryHeadline` from chatprompt
- Simplify `marshalContentBlock` to plain `json.Marshal` (no title
injection)
- Remove title tracking maps and `setReasoningTitleFromText` from
chatloop stream processing
- Remove `reasoningStoredTitle` from db2sdk
- Remove related tests from db2sdk_test

**Frontend:**
- Remove `mergeThinkingTitles` from blockUtils
- Simplify `appendTextBlock` to always merge consecutive thinking blocks
- Remove `applyStreamThinkingTitle` from streamState
- Simplify reasoning/thinking stream handler to ignore title-only parts
- Update tests accordingly

Net: **-487 lines / +42 lines**
This commit is contained in:
Kyle Carberry
2026-03-11 11:01:26 +00:00
committed by GitHub
parent 2d7dd73106
commit 0a026fde39
11 changed files with 47 additions and 512 deletions
@@ -24,15 +24,13 @@
{
"workspace_folder": "/workspace1",
"name": "dev1",
"id": "eb9b7f18-c277-48af-af7c-2a8e5fb42bab",
"subagent_id": "72d17819-ea3b-450a-a502-175886583ecf"
"id": "eb9b7f18-c277-48af-af7c-2a8e5fb42bab"
},
{
"workspace_folder": "/workspace2",
"config_path": "/workspace2/.devcontainer/devcontainer.json",
"name": "dev2",
"id": "964430ff-f0d9-4fcb-b645-6333cf6ba9f2",
"subagent_id": "40a59d56-d3df-488f-b07d-331c0b774bac"
"id": "964430ff-f0d9-4fcb-b645-6333cf6ba9f2"
}
],
"api_key_scope": "all"
@@ -139,8 +139,7 @@
},
"after_unknown": {
"agent_id": true,
"id": true,
"subagent_id": true
"id": true
},
"before_sensitive": false,
"after_sensitive": {}
@@ -163,8 +162,7 @@
},
"after_unknown": {
"agent_id": true,
"id": true,
"subagent_id": true
"id": true
},
"before_sensitive": false,
"after_sensitive": {}
@@ -60,7 +60,6 @@
"agent_id": "eb1fa705-34c6-405b-a2ec-70e4efd1614e",
"config_path": null,
"id": "eb9b7f18-c277-48af-af7c-2a8e5fb42bab",
"subagent_id": "72d17819-ea3b-450a-a502-175886583ecf",
"workspace_folder": "/workspace1"
},
"sensitive_values": {},
@@ -79,7 +78,6 @@
"agent_id": "eb1fa705-34c6-405b-a2ec-70e4efd1614e",
"config_path": "/workspace2/.devcontainer/devcontainer.json",
"id": "964430ff-f0d9-4fcb-b645-6333cf6ba9f2",
"subagent_id": "40a59d56-d3df-488f-b07d-331c0b774bac",
"workspace_folder": "/workspace2"
},
"sensitive_values": {},