You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add a lightweight Planner agent and Chat-based task creation flow. The Chat UI collects structured fields conversationally, while the Planner validates completeness against a Task Readiness Checklist before releasing to the Architect.
Context
Per the Dashboard Workflow Roadmap, Section 2. This is the hybrid approach (Option C) finalized during the brainstorm session. The Planner acts as a gatekeeper — no task reaches the Architect until it meets minimum readiness requirements.
Auto-inference of languages/frameworks from workspace contents (orchestrator-level read-only inspection of package.json, pyproject.toml, etc. — not Planner tool call)
New API endpoint: POST /tasks/plan — starts a Planner conversation session
New API endpoint: POST /tasks/plan/{session_id}/message — sends user message to Planner
New API endpoint: POST /tasks/plan/{session_id}/submit — confirms and submits to Architect
SSE events for Planner responses (planner_message event type)
Dashboard (ChatView):
Conversational Planner flow: user types objective → Planner responds with missing checklist items → user provides info → Planner confirms
Planner summary display: "Here's what I'll send to the Architect: [summary]. Ready to submit?"
"Submit to Architect" confirmation button
Minimal-input warning: "Task objective is minimal — success may be impacted. Submit anyway?"
Chat messages from Planner rendered distinctly from system/orchestrator messages
Tests:
Unit tests for Planner validation logic (checklist enforcement)
Unit tests for TaskSpec construction from Planner conversation
Unit tests for auto-inference (package.json → languages/frameworks)
Recommended Build Order
Phase A first — "Add directory" button is a quick win, no backend changes needed (POST /workspaces already exists). Unblocks testing with multiple workspaces.
Phase B backend — Planner node + TaskSpec + API endpoints. Can test via curl/API before dashboard work.
Phase B dashboard — ChatView conversational flow wired to Planner API.
Design
Task Readiness Checklist
Requirement
Priority
Notes
Workspace / directory
Required
Local path or GitHub repo + branch
Objective statement
Required
What the agents should accomplish
Target language(s)
Required
Can be auto-inferred from workspace
Framework(s)
Required
Can be auto-inferred from workspace
Expected output type
Recommended
Files, PR, command output, etc.
Acceptance criteria
Recommended
Warning if missing but does not block
Constraints
Optional
E.g., don't modify existing auth flow
Related files / context
Optional
E.g., see src/middleware/
TaskSpec Schema
classTaskSpec(TypedDict):
workspace: str# Path or repo URLobjective: str# What to accomplishlanguages: list[str] # Auto-inferred or user-specifiedframeworks: list[str] # Auto-inferred or user-specifiedoutput_type: str|None# Files, PR, command outputacceptance_criteria: list[str]
constraints: list[str]
related_files: list[str]
Plan-to-Act UX
User clicks "New Task" in Chat panel
Workspace selector appears — dropdown of approved directories + "Add new" + "Create new project"
User writes objective in chat area
Planner validates against checklist, prompts for missing info conversationally
Planner displays summary: "Here's what I'll send to the Architect: [summary]. Ready to submit?"
User confirms → "Submit to Architect" executes
Minimal-input path: Brief one-liner + submit → warning: "Task objective is minimal — success may be impacted. Submit anyway?"
Summary
Add a lightweight Planner agent and Chat-based task creation flow. The Chat UI collects structured fields conversationally, while the Planner validates completeness against a Task Readiness Checklist before releasing to the Architect.
Context
Per the Dashboard Workflow Roadmap, Section 2. This is the hybrid approach (Option C) finalized during the brainstorm session. The Planner acts as a gatekeeper — no task reaches the Architect until it meets minimum readiness requirements.
What Shipped (PR #117)
PR #117 delivered the workspace-aware task creation plumbing:
POST /workspaces,DELETE /workspaces,POST /workspaces/verify-authendpointsWorkspaceManagerwith allowed-directory registry, protected workspace PIN auth, persistencePOST /tasksacceptsworkspace+pinfields, validates against allowed listWorkspaceSelector.svelte— dropdown of workspaces, PIN entry for protected workspacesworkspacesStore— reactive workspace state, auto-selects default, PIN verificationChatView.svelte— workspace-aware task submission with PIN forwardingtasksStore.create()accepts workspace + optionsWhat's Missing
Phase A — Workspace Selector UX (Small, dashboard-only)
The dropdown shows existing workspaces but has no way to add new ones from the UI.
Phase B — Planner Agent (Large, orchestrator + dashboard)
No Planner agent exists. Tasks currently go directly from Chat →
POST /tasks→ Architect with no validation or conversational refinement.Backend (orchestrator):
planner_nodefunction — lightweight LLM call (no tools), validates TaskSpec against readiness checklistPLANNER_MODELenv var (default:gemini-2.0-flash-liteor similar lightweight model)package.json,pyproject.toml, etc. — not Planner tool call)TaskSpecschema (workspace, objective, languages, frameworks, output_type, acceptance_criteria, constraints, related_files)POST /tasks/plan— starts a Planner conversation sessionPOST /tasks/plan/{session_id}/message— sends user message to PlannerPOST /tasks/plan/{session_id}/submit— confirms and submits to Architectplanner_messageevent type)Dashboard (ChatView):
Tests:
Recommended Build Order
POST /workspacesalready exists). Unblocks testing with multiple workspaces.Design
Task Readiness Checklist
src/middleware/TaskSpec Schema
Plan-to-Act UX
Minimal-input path: Brief one-liner + submit → warning: "Task objective is minimal — success may be impacted. Submit anyway?"
Dependencies
feat: Workspace security model — allowed directories, protected workspaces, PIN auth #105 (Workspace security model)✅ Shipped in PR feat(#105): Workspace security model — allowed dirs, protected workspaces, PIN auth #115Effort
Large (2-3 sessions) — Phase A is small (1 hour), Phase B is the bulk.
Source
Dashboard Workflow Roadmap, Section 2 — Task Creation via Chat