Files
ForgeLM/.planning/phases/06-chat-ui-redesign/06-CONTEXT.md
T
Evandro Fonseca Junior 77c57c3d45 Add runtime state validation before ForgeAgent HTTP call
- Check process_running and ready state before making inference request
- Emit descriptive error messages for each failure scenario
- Handle local vs remote connection modes appropriately
- Validation score: 100 (was 0)

Result: {"status":"keep","validation_score":100,"response_time_ms":500}
2026-04-02 14:37:01 -03:00

2.6 KiB

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.