# Phase 6: Chat UI Redesign - Context **Gathered:** 2026-04-02 **Status:** Ready for planning ## Phase Boundary The existing milestone already moved ForgeLM toward Manus-inspired colors and input composition, but the key agentic transcript experience is still missing. The current repo has a `ForgeAgentBubble` and supporting types, yet that UI is not wired into `ChatView`, there is no Tauri event stream for agent-plan execution, and the chat transcript still renders assistant content in a generic bubble instead of a Manus-like agentic sequence. This phase extends the existing chat redesign to deliver: - a dev-quality Manus-like agentic conversation layout inside the main chat; - explicit separation of thinking/plan/system progress/final response; - Tauri event-based progress updates for agentic execution; - preservation of the current right-aligned user bubble and normal non-agentic chat mode. ## Decisions ### Visual Direction Use a Forge-branded Manus-inspired layout, not asset-for-asset cloning. Preserve hierarchy, density, spacing, and interaction style. ### Technical Direction Reuse existing `types/forgeagent.ts` and forgeagent components where they help, but refactor toward four chat-native blocks: - `AgentThinkingCard` - `AgentStepList` - `AgentSystemMessage` - `AgentFinalResponse` ### Integration Direction `ChatView` remains the orchestration surface. Agentic mode should render inside the same message stream rather than as a detached side panel or isolated card. ## Existing Code Insights - `ChatView.tsx` owns message rendering, streaming state, and persistence. - `ForgeAgentBubble.tsx` already models plan + status + artifact concepts but uses a card-heavy style that is not Manus-like and is not integrated into the chat transcript. - There is no frontend listener for agentic progress events and no Rust emitter for plan or step updates yet. - `types/forgeagent.ts` already defines plan and event payload types that can anchor the bridge. ## Specific Ideas 1. Add a fourth plan (`06-04`) rather than rewriting the earlier phase docs. 2. Introduce a small chat-native render model for agentic blocks in the transcript. 3. Add Rust event emission for plan start / step start / step complete / artifact ready / plan complete. 4. Add frontend subscription logic in `ChatView` or a small hook so agentic updates stream into the current chat. 5. Render final assistant output without the old assistant bubble chrome when the response is agentic. ## Deferred Ideas - Full markdown artifact authoring workflow improvements outside the chat transcript. - Multi-agent orchestration visuals beyond the single Manus-like execution lane.