# Roadmap: Foundary Studio UI Implementation This roadmap outlines the steps to move from the current `rdev` backend to the fully realized Foundary Studio UI. ## Phase 1: Foundation & Read-Only UI **Goal:** Visualize the current state of `rdev` projects and work queues. 1. **Project List View**: * Implement `GET /projects` integration. * Build dashboard card layout. * Add basic status polling. 2. **Work Queue View**: * Implement `GET /projects/{id}/work` integration. * Display list of running/completed tasks. 3. **Basic Preview**: * Embed iframe pointing to `http://{project-name}.threesix.ai`. ## Phase 2: Conversational Core (The Backend Gap) **Goal:** Implement the missing backend logic for Chat and Blueprints. 1. **Blueprint Entity**: * Define `Blueprint` struct (JSONB) in `internal/domain`. * Create CRUD handlers (`GET`, `PUT`). * Store "Plan" state here. 2. **Chat Persistence**: * Create `Chat` service/store. * Persist messages from User and Agent. 3. **Architect Agent Service**: * Wire up `POST /chat` endpoint. * Logic: Receive msg -> Persist -> Invoke `Agent` -> Parse "Plan" updates -> Persist Blueprint -> Reply. ## Phase 3: The Interactive Studio **Goal:** Connect the UI to the new Conversational Core. 1. **Chat Pane**: * Build chat interface (bubbles, typing indicators). * Connect to `POST /chat`. 2. **Plan Pane**: * Build structured JSON/Tree view of the Blueprint. * Auto-update when Chat returns new plan data. 3. **Interactive Build**: * Connect "Build It" button to `POST /sdlc/execute`. * Stream progress logs to the UI. ## Phase 4: Review Loop & Refinement **Goal:** Handle the "Review/Question" flow. 1. **Intervention UI**: * Handle `ActionBlocked` or `ActionAwaitApproval` states. * Render "Agent Questions" in the Chat or Review pane. * Implement form inputs for answering questions (e.g., dropdowns, text). 2. **Telemetry Integration**: * Connect to OTEL/Jaeger backend. * Embed trace views for completed requests. ## Phase 5: Polish & Scale **Goal:** Production readiness. 1. **Real-time Polish**: Replace polling with SSE/WebSockets for all status updates. 2. **Visual Design**: Apply "Foundary" branding (dark mode, crisp typography). 3. **Mobile Responsiveness**: Ensure critical flows work on tablet/mobile.