task_id: task_create_page_profile entity_id: page_profile generated_at: '2025-12-18T15:16:50.305216' workflow_version: v001 target: type: page definition: id: page_profile path: /profile title: Profile Settings description: User profile settings data_needs: - api_id: api_get_current_user purpose: Load user data on_load: true - api_id: api_update_current_user purpose: Update profile on_load: false components: - component_profile_form - component_avatar_upload auth: required: true redirect_if_unauthorized: /login related: models: [] apis: - id: api_update_current_user definition: &id001 id: api_update_current_user method: PUT path: /api/users/me description: Update current user profile request_body: name: string avatar_url: string responses: - status: 200 description: User updated schema: id: uuid email: string name: string avatar_url: string auth: required: true depends_on_models: - model_user - id: api_get_current_user definition: &id003 id: api_get_current_user method: GET path: /api/users/me description: Get current user profile responses: - status: 200 description: User profile schema: id: uuid email: string name: string role: string avatar_url: string auth: required: true depends_on_models: - model_user components: - id: component_profile_form definition: &id002 id: component_profile_form name: ProfileForm description: User profile edit form props: - name: user type: User required: true state: - name: name type: string - name: avatarUrl type: string events: - name: onSave payload: name: string avatarUrl: string uses_apis: - api_update_current_user uses_components: - component_avatar_upload - id: component_avatar_upload definition: &id004 id: component_avatar_upload name: AvatarUpload description: Avatar image upload component props: - name: currentAvatarUrl type: string required: false state: - name: file type: File - name: preview type: string events: - name: onUpload payload: file: File uses_apis: [] uses_components: [] dependencies: entity_ids: - api_update_current_user - component_profile_form - api_get_current_user - component_avatar_upload definitions: - id: api_update_current_user type: api definition: *id001 - id: component_profile_form type: component definition: *id002 - id: api_get_current_user type: api definition: *id003 - id: component_avatar_upload type: component definition: *id004 files: to_create: - app/profile/page.tsx reference: [] acceptance: - criterion: Page renders at /profile verification: Navigate to /profile - criterion: Data fetching works verification: Check network tab - criterion: Components render correctly verification: Visual inspection