- TaskService with CRUD operations + state machine enforcement - 5 DTOs: TaskListDto, TaskDetailDto, CreateTaskRequest, UpdateTaskRequest - Minimal API endpoints: GET /api/tasks, GET /api/tasks/{id}, POST, PATCH, DELETE - State machine: Open→Assigned→InProgress→Review→Done (invalid transitions → 422) - Concurrency: DbUpdateConcurrencyException → 409 Conflict - Authorization: POST (Manager+), DELETE (Admin), GET/PATCH (Member+) - RLS: Automatic tenant filtering via TenantDbConnectionInterceptor - 10 TDD integration tests: CRUD, state transitions, concurrency, role enforcement - Build: 0 errors (6 BouncyCastle warnings expected) Task 14 complete. Wave 3: 2/5 tasks done.