New accounts land on a 3-step wizard after signup — welcome, dietary preferences & allergens, notification opt-in — skippable at every step, shown once via a users.onboardingCompletedAt gate in the (app) layout. Existing accounts are backfilled as already-onboarded.
Also gives the allergen-preferences step a real write path: user_allergens previously only had a GDPR-export read.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>