···35353636#### Follow Audit Screen
37373838-- [ ] `FollowAuditScreen` — new file `lib/features/profile/presentation/follow_audit_screen.dart`
3939-- [ ] Header — "Clean Follows" title, subtitle with total follow count
4040-- [ ] Action bar — "Scan" button (initial) → "Unfollow Selected (N)" button (ready), disabled during loading states
4141-- [ ] Linear progress bar — during fetch/classify, shows "Fetching follows: X/Y" or "Classifying: X/Y"
4242-- [ ] Failed profiles warning — amber text below progress bar when `failedProfiles > 0`
4343-- [ ] Results list — checkbox, handle (tappable → navigate to profile via GoRouter), truncated DID, status badge chip. Selected rows get destructive-red background tint
4444-- [ ] Empty state — "No problematic follows found" when audit completes with 0 results
4545-- [ ] Complete state — "Unfollowed N account(s)" after successful batch delete
4646-- [ ] Error state — error message with "Retry" button
3838+- [x] `FollowAuditScreen` — new file `lib/features/profile/presentation/follow_audit_screen.dart`
3939+- [x] Header — "Clean Follows" title, subtitle with total follow count
4040+- [x] Action bar — "Scan" button (initial) → "Unfollow Selected (N)" button (ready), disabled during loading states
4141+- [x] Linear progress bar — during fetch/classify, shows "Fetching follows: X/Y" or "Classifying: X/Y"
4242+- [x] Failed profiles warning — amber text below progress bar when `failedProfiles > 0`
4343+- [x] Results list — checkbox, handle (tappable → navigate to profile via GoRouter), truncated DID, status badge chip. Selected rows get destructive-red background tint
4444+- [x] Empty state — "No problematic follows found" when audit completes with 0 results
4545+- [x] Complete state — "Unfollowed N account(s)" after successful batch delete
4646+- [x] Error state — error message with "Retry" button
47474848#### Filter Controls
49495050-- [ ] Responsive layout — horizontal scrollable chip row on narrow screens (`< 600px`), sticky sidebar on wider screens
5151-- [ ] Per-status filter tile — visibility toggle (show/hide rows of that status in list) + "Select All" checkbox
5252-- [ ] Category count badges — show count of results per status category
5353-- [ ] Summary line — "Selected: N/M" count, always visible
5050+- [x] Responsive layout — horizontal scrollable chip row on narrow screens (`< 600px`), sticky sidebar on wider screens
5151+- [x] Per-status filter tile — visibility toggle (show/hide rows of that status in list) + "Select All" checkbox
5252+- [x] Category count badges — show count of results per status category
5353+- [x] Summary line — "Selected: N/M" count, always visible
54545555#### Navigation & Entry Points
56565757-- [ ] Settings screen — new "Account Maintenance" section with "Clean Follows" tile, navigates to `FollowAuditScreen`
5858-- [ ] Profile screen overflow menu — add "Clean Follows" option when viewing own profile, navigates to `FollowAuditScreen`
5959-- [ ] GoRouter route — `/settings/clean-follows`
5757+- [x] Settings screen — new "Account Maintenance" section with "Clean Follows" tile, navigates to `FollowAuditScreen`
5858+- [x] Profile screen overflow menu — add "Clean Follows" option when viewing own profile, navigates to `FollowAuditScreen`
5959+- [x] GoRouter route — `/settings/clean-follows`
60606161### Tests
6262···91919292#### Widget Tests (FollowAuditScreen)
93939494-- [ ] initial state renders "Scan" button
9595-- [ ] fetching state shows progress bar with count text
9696-- [ ] ready state renders results list with correct status badges
9797-- [ ] selecting a record changes row background to red tint
9898-- [ ] "Unfollow Selected" button shows correct count and is disabled when nothing selected
9999-- [ ] filter toggles hide/show rows by status
100100-- [ ] "Select All" per category selects all visible records of that status
101101-- [ ] complete state shows "Unfollowed N account(s)"
102102-- [ ] error state shows message and retry button
103103-- [ ] empty results shows "No problematic follows found"
104104-- [ ] tapping handle navigates to profile screen
105105-- [ ] responsive layout: chips on narrow, sidebar on wide
9494+- [x] initial state renders "Scan" button
9595+- [x] fetching state shows progress bar with count text
9696+- [x] ready state renders results list with correct status badges
9797+- [x] selecting a record changes row background to red tint
9898+- [x] "Unfollow Selected" button shows correct count and is disabled when nothing selected
9999+- [x] filter toggles hide/show rows by status
100100+- [x] "Select All" per category selects all visible records of that status
101101+- [x] complete state shows "Unfollowed N account(s)"
102102+- [x] error state shows message and retry button
103103+- [x] empty results shows "No problematic follows found"
104104+- [x] tapping handle navigates to profile screen
105105+- [x] responsive layout: chips on narrow, sidebar on wide
106106107107#### Integration Tests
108108109109-- [ ] End-to-end: scan follows → results displayed → select records → confirm unfollow → success state
109109+- [x] End-to-end: scan follows → results displayed → select records → confirm unfollow → success state