Goal: Build the task detail screen with 3 switchable layouts (Property-First, Content-First, Hierarchical), sheet/panel presentation, date and priority pickers, completion flow, description editor, subtask CRUD, and layout switching.
Outcome: All 13 tasks completed. Full-stack implementation of task detail with 3 layouts, responsive presentation, and comprehensive test suite.
| Component | File | Description |
| TaskDetailSheet | v2/TaskDetailSheet.tsx | Responsive bottom sheet (mobile) / side panel (desktop) with drag-to-dismiss |
| TaskDetailLayoutA | v2/TaskDetailLayoutA.tsx | Property-First layout: title, property chips, children, notes |
| TaskDetailLayoutB | v2/TaskDetailLayoutB.tsx | Content-First layout: prominent notes, property pills, checklist |
| TaskDetailLayoutC | v2/TaskDetailLayoutC.tsx | Hierarchical layout: subtask-centric with inline CRUD |
| TaskDetailV2 | v2/TaskDetailV2.tsx | Wrapper wiring sheet + layout + context + API |
| DatePickerSheet | v2/DatePickerSheet.tsx | Due date picker with Today/Tomorrow/Next Week shortcuts |
| PriorityPickerSheet | v2/PriorityPickerSheet.tsx | P1-P4 priority selector with color dots |
| DescriptionEditor | v2/DescriptionEditor.tsx | Notes editor with auto-save, collapsed/expanded modes |
| PropertiesSheet | v2/PropertiesSheet.tsx | Full properties slide-up sheet for Layout B |
| LayoutPicker | v2/LayoutPicker.tsx | Layout switcher (A/B/C) in settings, localStorage persist |
| UndoToast | v2/UndoToast.tsx | Completion undo toast with countdown |
| Confetti | v2/Confetti.tsx | Celebration animation on task completion |
| CompletionConfirmDialog | v2/CompletionConfirmDialog.tsx | Cascade completion confirm dialog |
| DetailEmptyStates | v2/DetailEmptyStates.tsx | Empty state placeholders for no description / no subtasks |
| SubtaskQuickAdd | v2/SubtaskQuickAdd.tsx | Inline subtask creation input |
| File | Change |
frontend/src/app.tsx | Replaced v1 TaskDetail with TaskDetailV2 |
frontend/src/context/TaskContext.tsx | Added detailLayout state + setDetailLayout |
frontend/src/services/api.ts | Added subtask CRUD endpoints |
backend/src/routes/tasks.ts | Added subtask API routes |
backend/src/notion/client.ts | Added Notion to_do block operations |
frontend/src/styles/task-detail.css | New CSS for sheet/panel/backdrop/animations |
All test failures resolved. PriorityPickerSheet timer tests fixed (waitFor instead of fake timers). TaskDetailLayoutA tests fixed (DescriptionEditor mock, notesSlot wiring, toolbar handlers).
| # | Task | Owner | Status |
| 1 | Backend: Subtask CRUD endpoints + task detail enrichment | backend-dev | ✔ |
| 2 | Sheet/Panel presentation system | frontend-dev | ✔ |
| 3 | Layout A: Property-First task detail | qa-engineer | ✔ |
| 4 | Due date picker + Priority picker | ux-researcher | ✔ |
| 5 | Completion flow: checkbox animation + undo toast + confetti | ui-designer | ✔ |
| 6 | Layout B: Content-First task detail | ux-researcher | ✔ |
| 7 | Description editor with auto-save | product-owner | ✔ |
| 8 | Layout C: Hierarchical task detail + subtask CRUD | devops-engineer | ✔ |
| 9 | Layout switcher in settings + localStorage | product-owner | ✔ |
| 10 | Empty states + error handling | business-analyst | ✔ |
| 11 | Wire routing: list tap → detail view | backend-dev | ✔ |
| 12 | Tests for layouts, pickers, sheet | frontend-dev | ✔ |
| 13 | Build verification + sprint report | frontend-dev | ✔ |