Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
When req.Template is empty, it defaults to 'skeleton' but the check
in createInitialDeployment only matched 'skeleton' explicitly, not
empty string. This caused a broken deployment to be created for
monorepo projects with a non-existent image.
Root cause: slackpath-5 creates project with empty template, which
defaults to skeleton, but createInitialDeployment was still creating
a root deployment that references registry.threesix.ai/{project}:latest
which never gets built (skeleton has no root Dockerfile).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
62 lines
2.4 KiB
Markdown
62 lines
2.4 KiB
Markdown
# Roadmap: Orchard Studio UI Implementation
|
|
|
|
This roadmap outlines the steps to move from the current `rdev` backend to the fully realized Orchard 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 "Orchard" branding (dark mode, crisp typography).
|
|
3. **Mobile Responsiveness**: Ensure critical flows work on tablet/mobile.
|