rdev/docs/ui/ideation/roadmap.md
jordan a69eb7e587 feat(foundary): implement complete backend for conversational project design
Implements all 5 phases of Foundary Studio backend:

Phase 1: Chat Persistence (8 API endpoints)
- Conversations and messages with proper cascading deletes
- PostgreSQL schema with auto-update triggers
- Full CRUD operations with structured logging

Phase 2: Blueprint Entity (5 API endpoints)
- JSONB spec storage with GIN indexes
- Flexible structured data for project specifications
- Version-controlled blueprint management

Phase 3: Architect Service (3 API endpoints)
- Conversational AI orchestration with Claude
- Multi-turn dialogue with context building
- Blueprint spec extraction from conversations

Phase 4: Work Queue Integration
- Verified existing endpoint compatibility

Phase 5: Structured Questions (6 API endpoints)
- Four question types: text, choice, multichoice, yesno
- Answer validation with proper constraints
- Conversation-linked Q&A flow

Architecture:
- Textbook hexagonal architecture (domain → port → adapter → service → handler)
- Zero external dependencies in domain layer
- Consistent error handling with proper wrapping
- Auth scopes on all routes (projects:read, projects:execute)
- Structured logging with operation context and duration tracking
- NULL-safe DTO converters throughout

Database:
- 3 new migrations (019, 020, 021)
- UUIDs for all primary keys
- Proper foreign key constraints with ON DELETE CASCADE
- Optimized indexes including partial index for unanswered questions
- Auto-update triggers for timestamps

OpenAPI Documentation:
- Complete API documentation under 'Foundary' tag
- 22 new endpoints documented with examples
- Request/response schemas for all operations

Logging Improvements:
- Added operation field to all service logs
- Added duration_ms tracking for performance monitoring
- Log response_length instead of full response content
- Consistent use of logging field constants
- Execute-then-log pattern for delete operations

Files: 32 changed, 2800+ lines added
- 7 domain models
- 3 database migrations
- 3 port interfaces
- 3 postgres adapters
- 4 services (conversation, blueprint, question, architect)
- 4 handlers with DTOs
- OpenAPI documentation
- Integration in main.go

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-09 00:50:46 -07:00

62 lines
2.4 KiB
Markdown

# 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.