| Zone | Feature | Bug | Fix | Files |
|------|---------|-----|-----|-------|
| Backend | Gamification (quests) | Progress API returned stale status after hitting target; clients never saw completedAt without refetch | Propagate completion flag/timestamp from update, delegate cache invalidation to completion path, and cover with regression test | apps/api/src/modules/gamification/quest.service.ts; apps/api/src/modules/gamification/__tests__/progress-updates.test.ts |
| Backend | Gamification (challenges) | Challenge updates capped at target but kept status "active", delaying rewards UI | Reuse update timestamp as completion marker, complete challenge using loaded entity, and return completed status immediately | apps/api/src/modules/gamification/challenge.service.ts; apps/api/src/modules/gamification/__tests__/progress-updates.test.ts |
| Backend | Analytics funnel | Funnels with zero traffic reported 100% dropoff, skewing dashboards | Clamp dropoff rate when no base users to avoid false 100% dropoff | apps/api/src/modules/analytics/analytics.service.ts |
