--- id: TASK-29 title: Surface audit generations on dashboard audits status: In Progress assignee: [] created_date: '2026-06-05 20:30' updated_date: '2026-06-05 22:45' labels: [] dependencies: [] priority: high ordinal: 31000 --- ## Description Show audit-generation pipeline data on /dashboard/audits when final audits rows do not exist yet, so local Convex auditGenerations are visible instead of an empty dashboard. ## Acceptance Criteria - [x] #1 Dashboard query returns finalized audit rows and audit-generation pipeline rows - [x] #2 Generation rows are suppressed when a finalized audit exists for the same run or lead - [x] #3 AuditsBoard renders German labels for finalized audits and generation states - [x] #4 Regression tests cover mixed dashboard data source and duplicate suppression ## Implementation Plan 1. Add red regression tests for dashboard query and UI source contract 2. Implement Convex dashboard row query with audit + generation union 3. Update AuditsBoard to consume and render dashboard rows 4. Run focused tests, then full test suite 5. Record verified acceptance criteria in Backlog notes ## Implementation Notes Implemented listDashboardRows with authenticated audit + audit_generation rows. Addressed QA finding by suppressing generation rows via direct auditId lookup and by_leadId lookup, not only the fetched dashboard audit page. Verified with pnpm test and pnpm lint; lint has only existing generated Better Auth warnings.