Files
ForgeLM/.planning/phases/06-chat-ui-redesign/06-04-PLAN.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

47 lines
2.3 KiB
Markdown

---
phase: 06-chat-ui-redesign
plan: 04
type: execute
wave: 3
depends_on: [06-01, 06-02, 06-03]
files_modified:
- tauri-app/src/components/ChatView.tsx
- tauri-app/src/components/ChatView.css
- tauri-app/src/components/forgeagent/ForgeAgentBubble.tsx
- tauri-app/src/components/forgeagent/AgentThinkingCard.tsx
- tauri-app/src/components/forgeagent/AgentStepList.tsx
- tauri-app/src/components/forgeagent/AgentSystemMessage.tsx
- tauri-app/src/components/forgeagent/AgentFinalResponse.tsx
- tauri-app/src/types/forgeagent.ts
- tauri-app/src-tauri/src/lib.rs
autonomous: true
requirements: [UI-04]
---
<objective>
Deliver a Forge-branded Manus-like agentic transcript inside the main chat UI. Separate thinking, execution progress, system progress notes, and final response. Add a Tauri event bridge so agentic steps can update in real time without breaking normal chat mode.
</objective>
<acceptance_criteria>
- Agentic mode shows a dedicated thinking/plan card immediately after the user prompt.
- Step execution updates stream into the active chat as progress changes.
- Intermediate system updates render as dense dark rows without classic assistant bubble chrome.
- Final response renders as a clean text block with code-copy support and artifact action area.
- Normal chat mode remains unchanged for non-agentic replies.
- New behavior is covered by focused tests for formatting/render gating.
</acceptance_criteria>
<implementation_plan>
1. Create chat-native agentic UI blocks (`AgentThinkingCard`, `AgentStepList`, `AgentSystemMessage`, `AgentFinalResponse`) and refactor `ForgeAgentBubble` to compose them.
2. Extend forgeagent types to support transcript-level system messages and artifact CTA metadata needed by the new UI.
3. Integrate agentic rendering into `ChatView` with conditional transcript blocks and Manus-like assistant presentation.
4. Add a Rust→Tauri event contract for plan and step progress; wire frontend listeners to update live agentic state.
5. Add targeted tests and update `.planning/STATE.md` / summary files after verification.
</implementation_plan>
<verification>
- `pnpm exec vitest run` for the new/updated agentic tests
- targeted Rust build/test for event contract if touched
- manual `pnpm tauri dev` verification of agentic transcript layout
</verification>