Portal GET /api/portal/pets serializes weightKg→weight and dateOfBirth→
birthDate. The portal read view read the staff-shaped keys, so populated
pets rendered 'Unknown'. Size Category (petSizeCategory) was never shown
in any read tab.
- packages/types: add portal-shaped weight?/birthDate? alongside the
existing staff-side weightKg/dateOfBirth (no rename — staff Clients
pages still use weightKg/dateOfBirth).
- PetProfiles: header + Basic Info InfoRows read portal keys with a
fallback to staff keys; add a Size Category InfoRow with a
formatSizeCategory helper (extra_large → 'Extra Large').
- PetForm: pre-fill weight from portal weight key with weightKg fallback.
- Tests: PetProfiles.test.tsx (read view + formatter) and a PetForm
pre-fill case.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>