This commit is contained in:
parent
a69eb7e587
commit
88e4eb7f3f
@ -80,44 +80,49 @@ steps:
|
|||||||
- sdlc_initialized: .data.initialized
|
- sdlc_initialized: .data.initialized
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# SECTION 2: ARCHITECT (Shell Stubs for Future Chat/Blueprint APIs)
|
# SECTION 2: ARCHITECT
|
||||||
# Documents the conversational architect flow that will use
|
# Conversational product design via architect API.
|
||||||
# POST /projects/{id}/chat and GET /projects/{id}/blueprints
|
# Starts a conversation, refines architecture, generates blueprint.
|
||||||
# ============================================================
|
# ============================================================
|
||||||
architect-session:
|
architect-start:
|
||||||
description: "Simulate architect conversation (stub for future chat API)"
|
description: "Start architect conversation about product goals"
|
||||||
depends_on: [verify-sdlc]
|
depends_on: [verify-sdlc]
|
||||||
action: shell
|
action: api
|
||||||
command: |
|
method: POST
|
||||||
cat <<'ARCHITECT'
|
endpoint: "/projects/{{ .outputs.create-project.project_id }}/architect/start"
|
||||||
============================================================
|
body:
|
||||||
FOUNDARY ARCHITECT SESSION (Future: POST /projects/{id}/chat)
|
prompt: "I want to build a task management studio. The product needs: 1) Core data models for Task, Project, Label, and Assignment entities with full CRUD stored in Postgres via studio-db, exposed as REST endpoints on studio-api. 2) A React frontend in studio-ui with a Kanban board (drag-and-drop columns: To Do, In Progress, Done), task creation/edit modals, and filtering by label and assignee. Propose the architecture and identify the two MVP features we should build."
|
||||||
============================================================
|
outputs:
|
||||||
The architect conversation would:
|
- conversation_id: .data.id
|
||||||
1. Discuss product goals for a task management studio
|
|
||||||
2. Identify core entities: projects, tasks, labels, assignments
|
|
||||||
3. Propose two features for MVP:
|
|
||||||
- Feature 1: data-models (Core Data Models & Persistence)
|
|
||||||
- Feature 2: task-management-ui (Task Management UI)
|
|
||||||
4. Generate blueprint (Future: GET /projects/{id}/blueprints)
|
|
||||||
|
|
||||||
Feature definitions for downstream SDLC:
|
architect-refine:
|
||||||
{
|
description: "Refine architecture with component details"
|
||||||
"features": [
|
depends_on: [architect-start]
|
||||||
{
|
action: api
|
||||||
"slug": "data-models",
|
method: POST
|
||||||
"title": "Core Data Models & Persistence",
|
endpoint: "/projects/{{ .outputs.create-project.project_id }}/architect/continue/{{ .outputs.architect-start.conversation_id }}"
|
||||||
"requirements": "Define Task, Project, Label, and Assignment entities with full CRUD. Postgres storage via studio-db. REST endpoints on studio-api. Include migrations, repository layer, service layer, and handler tests."
|
body:
|
||||||
},
|
message: "Good. Let's define exactly two features for the MVP: Feature 1 'data-models' covers the persistence layer (Task, Project, Label, Assignment entities, migrations, repository layer, service layer, handler tests). Feature 2 'task-management-ui' covers the React frontend (Kanban board, task CRUD modals, label/assignee filters). Feature 2 depends on Feature 1 being complete since it consumes the API. Please confirm this breakdown and note any architectural considerations."
|
||||||
{
|
|
||||||
"slug": "task-management-ui",
|
architect-generate-blueprint:
|
||||||
"title": "Task Management UI",
|
description: "Generate structured blueprint from conversation"
|
||||||
"requirements": "React UI in studio-ui for managing tasks. Kanban board view with drag-and-drop columns (To Do, In Progress, Done). Task creation/edit modal. Filter by label and assignee. Connects to studio-api REST endpoints."
|
depends_on: [architect-refine]
|
||||||
}
|
action: api
|
||||||
]
|
method: POST
|
||||||
}
|
endpoint: "/projects/{{ .outputs.create-project.project_id }}/architect/generate-blueprint/{{ .outputs.architect-start.conversation_id }}"
|
||||||
ARCHITECT
|
body:
|
||||||
echo "Architect session complete — feature definitions ready"
|
name: "foundary-studio-mvp"
|
||||||
|
outputs:
|
||||||
|
- blueprint_id: .data.blueprint.id
|
||||||
|
|
||||||
|
architect-verify-blueprint:
|
||||||
|
description: "Verify blueprint was persisted"
|
||||||
|
depends_on: [architect-generate-blueprint]
|
||||||
|
action: api
|
||||||
|
method: GET
|
||||||
|
endpoint: "/projects/{{ .outputs.create-project.project_id }}/blueprints/{{ .outputs.architect-generate-blueprint.blueprint_id }}"
|
||||||
|
outputs:
|
||||||
|
- blueprint_name: .data.name
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# SECTION 3: FEATURE 1 — Core Data Models (draft → released)
|
# SECTION 3: FEATURE 1 — Core Data Models (draft → released)
|
||||||
@ -127,7 +132,7 @@ steps:
|
|||||||
# --- Phase 1: Draft ---
|
# --- Phase 1: Draft ---
|
||||||
f1-create-feature:
|
f1-create-feature:
|
||||||
description: "Create data-models feature in draft phase"
|
description: "Create data-models feature in draft phase"
|
||||||
depends_on: [architect-session]
|
depends_on: [architect-verify-blueprint]
|
||||||
action: api
|
action: api
|
||||||
method: POST
|
method: POST
|
||||||
endpoint: "/projects/{{ .outputs.create-project.project_id }}/sdlc/features"
|
endpoint: "/projects/{{ .outputs.create-project.project_id }}/sdlc/features"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user