Goal
Rebuild the session message flow so the timeline can be shipped incrementally behind the perf gate instead of through another large slice like PR #589.
Scope
In scope:
- User message bubbles.
- Agent prose and reasoning output.
- Tool call trows in collapsed and expanded states.
- Inline copy buttons.
- Attachment chips.
- Interrupted and system events.
- Reset / Fork toolbar entries.
- Streaming state such as work timer, thinking label, and animation timing.
Out of scope:
Relevant files or context
Parent: #599
Audit-first file set:
packages/ui/src/components/message-part.tsx
packages/app/src/pages/session/message-timeline.tsx
packages/ui/src/components/session-turn.tsx
packages/app/src/pages/session.tsx
packages/app/src/pages/session/use-session-commands.tsx
packages/ui/src/components/markdown.tsx (decide whether this area still needs to touch it; default defer)
packages/app/src/pages/session/session-timeline-scroll-controller.ts
Constraints carried from the master plan:
Verification
Execution mode
Agent should investigate and propose a plan first
Goal
Rebuild the session message flow so the timeline can be shipped incrementally behind the perf gate instead of through another large slice like PR #589.
Scope
In scope:
Out of scope:
Relevant files or context
Parent: #599
Audit-first file set:
packages/ui/src/components/message-part.tsxpackages/app/src/pages/session/message-timeline.tsxpackages/ui/src/components/session-turn.tsxpackages/app/src/pages/session.tsxpackages/app/src/pages/session/use-session-commands.tsxpackages/ui/src/components/markdown.tsx(decide whether this area still needs to touch it; default defer)packages/app/src/pages/session/session-timeline-scroll-controller.tsConstraints carried from the master plan:
Verification
docs/design/session-view-w1-manual-checklist.mdpasses.Execution mode
Agent should investigate and propose a plan first