# SPEC: Dashboard Task Review and Approval ## Overview The dashboard currently shows tasks grouped by phase but has no workflow for reviewing and approving tasks before they proceed to the next phase. A user should be able to review a task's artifacts (SPEC.md, DESIGN.md, IMPLEMENTATION.md, etc.) and approve or reject it directly from the dashboard. ## Motivation The framework has phases that require user sign-off (Research → SPEC.md review, Design → DESIGN.md review, etc.) but this sign-off happens via agent interaction, not through the dashboard. Adding review/approval to the dashboard provides: 1. **Asynchronous review** — approve or flag tasks without an active agent session 2. **Audit trail** — who approved what and when 3. **Blocked task management** — reject a task to move it to Blocked column 4. **Self-service** — approve multiple tasks at a glance ## Requirements ### 1. Review State Per Task Each task can have a review status: | Status | Meaning | |--------|---------| | `pending` | Awaiting review (default for new artifacts) | | `approved` | Reviewer approved, task can proceed | | `changes_requested` | Reviewer wants changes, task moves to Blocked | | `not_needed` | No review needed (e.g., automated phases) | ### 2. Review Data Storage Store review state in the task directory: - `REVIEW.md` — review metadata (status, reviewer, timestamp, comments) - Or embed in existing artifact files if simpler ### 3. Dashboard UI - Each task card shows review status badge (🟡 pending, ✅ approved, ❌ changes requested) - Clicking a task opens a detail panel with: - Artifact preview (SPEC.md, DESIGN.md, etc.) - Approve / Request Changes buttons - Comment box - Phase columns show a review filter toggle (show all / show pending only) - Stats view includes review metrics (pending approvals count) ### 4. Integration with Phase Flow - A task in "Research" phase with a new SPEC.md starts as `pending` review - When approved, the task proceeds to next phase - When "changes requested", the task moves to Blocked column with a note - Review status is checked by the Orchestrator before auto-executing next phase ### 5. API Endpoints - `GET /api/tasks/{name}/review` — get review status - `POST /api/tasks/{name}/review` — submit review (approve/changes_requested + comment) - `GET /api/review-summary` — aggregate review metrics for all tasks ## Acceptance Criteria - [ ] Tasks have review state stored in REVIEW.md - [ ] Dashboard shows review status badge on task cards - [ ] Detail panel has Approve / Request Changes buttons - [ ] Filter for pending reviews only - [ ] Stats shows pending approval count - [ ] API serves review data and accepts review submissions - [ ] Orchestrator checks review status before auto-executing ## Out of Scope - Multi-user review workflow (single user for now) - Email/notification system for pending reviews - Role-based permissions ## Notes - This builds on the existing Blocked column (when changes_requested, task goes to Blocked) - Review state is simple — approve or changes_requested, no multi-level approval