Three coordinated fixes for CI pipeline race conditions:
1. Woodpecker step dependencies: Added depends_on: [deps] to all 6 component
templates (service, worker, cli, app-astro, app-react, app-nextjs) so build
steps wait for go work sync to complete.
2. Idempotent resource provisioning: Modified provisionResources() to check
for existing database/cache before creating, preventing "already exists"
errors on component re-adds.
3. Batch component endpoint: POST /projects/{id}/components/batch enables
atomic multi-component additions in a single git commit. Validates all
components upfront, provisions infra sequentially, commits code components
atomically.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.3 KiB
2.3 KiB
App Vision Roadmap
This roadmap bridges the gap between the current rdev CLI engine and the Orchard Studio vision.
Phase 1: Engine Reliability (The "Slack Path")
Goal: Prove rdev can autonomously build complex systems via CLI/Scripts.
- Why: If the engine can't build Slack/Aeries, the UI is useless.
- Tasks:
- Templates: Complete
worker,postgres,redis,app-react. - Shared Libs: Implement
pkg/auth,pkg/queue. - Validation: successfully run
slackpath-1(Auth) andslackpath-2(Async). - Refactor: Ensure all templates use the "Secret-First" config pattern.
- Templates: Complete
Phase 2: The API Lift (The "Tree Runner Migration")
Goal: Move orchestration state from local JSON files to the rdev Database.
- Why: The Web UI cannot read a JSON file on my laptop. It needs an API.
- Tasks:
- Schema: Create
operationsandoperation_stepstables in CockroachDB. - Port Logic: Rewrite
tree-runner.shlogic intointernal/service/orchestrator.go. - Endpoints: Expose
POST /operations/start,GET /operations/{id}. - Verify: Run
slackpath-3usingcurlcalls to the new API instead of the shell script.
- Schema: Create
Phase 3: The Architect & Blueprint (The "Brain")
Goal: Enable the "Conversation -> Spec" loop.
- Tasks:
- Agent: Create
architectpersona (specialized in requirements gathering). - API: Create
POST /blueprint/chatendpoint. - Logic: Implement the "Clarification Loop" (Agent outputting questions vs Agent outputting specs).
- Verify: Have a conversation via
curlthat results in a validated Spec artifact.
- Agent: Create
Phase 4: Orchard Studio UI (The "Face")
Goal: Build the Next.js Frontend.
- Tasks:
- Scaffold: Create
apps/studioin therdevrepo. - UI: Build the Split Screen (Chat + Preview).
- Integration: Connect to
rdev-api(Auth, Operations, Blueprints). - Streaming: Implement the WebSocket client for build logs.
- Scaffold: Create
Phase 5: The "Aeries" Launch
Goal: Use Orchard Studio to build Aeries from scratch.
- Action: Click "Social World Seed". Chat with Architect. Watch Aeries deploy.
- Success Criteria: A working multi-agent simulation built without writing a single line of code manually.