## Why Currently, the frontend displays raw UUIDs for user references (assignee, creator, members) which creates a poor user experience. Users should see meaningful names like "Alice Smith" instead of "a1b2c3d4-e5f6-7890-abcd-ef1234567890". The backend already stores display names in the Member entity, but the API DTOs don't expose them. ## What Changes - **Backend DTOs**: Add name fields to task and shift DTOs - `TaskListItemDto`: Add `string? AssigneeName` - `TaskDetailDto`: Add `string? AssigneeName` and `string CreatedByName` - `ShiftSignupDto`: Add `string MemberName` - **Backend Services**: Update TaskService and ShiftService to query and populate member names - Join with Members table to fetch display names - Include names in DTO construction - **Frontend Types**: Update TypeScript interfaces to include new name fields - `TaskListItemDto`, `TaskDetailDto`, `ShiftSignupDto` interfaces - **Frontend UI**: Replace UUID displays with names - Task list: show assignee name instead of ID - Task detail: show assignee and creator names - Shift detail: show member names in signup list ## Capabilities ### New Capabilities - `member-name-enrichment`: API DTOs include human-readable member names alongside IDs ### Modified Capabilities - None (this is purely an enhancement to existing capabilities) ## Impact - **Backend**: TaskService.cs, ShiftService.cs, and DTOs in WorkClub.Application - **Frontend**: Tasks pages, Shifts pages, and React hooks (useTasks.ts, useShifts.ts) - **Database**: Additional JOIN queries on Members table (no schema changes) - **API Response**: New optional fields in existing endpoints (backward compatible)