pythonvCard4 parses vCard BDAY fields into datetime.date objects, but the Contact model expects Optional[str]. This caused a validation error that crashed the entire contact list. Convert at the client layer (consistent with the calendar client pattern) with a defensive check at the server mapping layer. Closes #672 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>