feat(web): render thinking blocks in planner transcript message bubbles #1165

Closed
opened 2026-05-14 22:05:20 +00:00 by claude-desktop · 1 comment
Collaborator

As a dashboard operator, I want to see the architect's reasoning process inside the transcript, so that I can understand why a particular recommendation was made without having to open the event log and hunt for a Reasoning accordion.

Acceptance criteria

Extraction

  • <Reasoning> component extracted from event-log.tsx into components/agent/reasoning.tsx as a standalone component with no event-log coupling

Transcript integration

  • planner/transcript.tsx renders a <Reasoning> accordion below the assistant bubble content when the turn contains thinking blocks
  • Collapsed by default; expands on click
  • Pulse animation only while the turn is actively streaming
  • Streaming thinking content appended incrementally via existing SSE path
  • Persisted turns: thinking blocks loaded from m.thinking field in the message record if present
  • Accordion hidden when thinking array is empty or absent

Quality

  • Event log <Reasoning> usage unchanged after extraction (refactor only)
  • just qa passes

Out of scope

  • Showing thinking blocks in non-architect sessions (only architect uses extended thinking today)
  • Thinking block search or copy-to-clipboard
  • Configuring whether thinking is shown/hidden

References

  • agent-output-unification audit 2026-05-15
  • Inconsistency: "Thinking Block Rendering" (HIGH)
As a dashboard operator, I want to see the architect's reasoning process inside the transcript, so that I can understand why a particular recommendation was made without having to open the event log and hunt for a Reasoning accordion. ### Acceptance criteria #### Extraction - [ ] `<Reasoning>` component extracted from `event-log.tsx` into `components/agent/reasoning.tsx` as a standalone component with no event-log coupling #### Transcript integration - [ ] `planner/transcript.tsx` renders a `<Reasoning>` accordion below the assistant bubble content when the turn contains `thinking` blocks - [ ] Collapsed by default; expands on click - [ ] Pulse animation only while the turn is actively streaming - [ ] Streaming thinking content appended incrementally via existing SSE path - [ ] Persisted turns: thinking blocks loaded from `m.thinking` field in the message record if present - [ ] Accordion hidden when thinking array is empty or absent #### Quality - [ ] Event log `<Reasoning>` usage unchanged after extraction (refactor only) - [ ] `just qa` passes ### Out of scope - Showing thinking blocks in non-architect sessions (only architect uses extended thinking today) - Thinking block search or copy-to-clipboard - Configuring whether thinking is shown/hidden ### References - agent-output-unification audit 2026-05-15 - Inconsistency: "Thinking Block Rendering" (HIGH)
Collaborator

🤖 Auto-assigned to dev (heuristic: area:dashboard + body 1385 bytes (≤ 2 KB) — code role). Reply /unassign to reroute.

🤖 Auto-assigned to **dev** (heuristic: area:dashboard + body 1385 bytes (≤ 2 KB) — code role). Reply `/unassign` to reroute.
dev closed this issue 2026-05-15 07:05:42 +00:00
Sign in to join this conversation.
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
charles/agent-hooks#1165
No description provided.