04430607

By: Michael Lynch <git@mtlynch.io>

Replace UserID with typed UserID2 in little_moments package

- Introduces littlemoments.UserID2 (uint32-backed struct) to replace the
  old int-based UserID type, making user ID handling more explicit.
- UserID2 exposes UInt32() for callers that must pass a raw uint32 to
  an external API; JSON encoding/decoding is left to each consuming
  package rather than built into the type.
- cmd/app decodes metadata.json via local raw structs and converts to
  UserID2, keeping JSON logic out of the domain type.
- tinybeans/parse.UserID changed from int64 to uint32 (with a UInt32()
  method) to match UserID2 without requiring casts at the call site.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>