f093a476

By: Michael Lynch <git@mtlynch.io>

Replace littlemoments.UserID int type with a uint32-backed struct

UserID was a plain `int` type alias. This replaces it with a struct
wrapping a uint32, with a constructor (NewUserID) and a UInt32() accessor
for callers that need the raw value.

- tinybeans/parse.UserID changes from int64 to uint32, gaining a UInt32()
  method to avoid casts at call sites in convert.go
- jsonfile ID fields change from int to uint32 to match
- WriteMetadata uses UInt32() instead of int() casts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
configuredevShellbackendbackend-devcheck-bashcheck-frontendcheck-go-formattingcheck-go-test-packagescheck-trailing-newlinecheck-trailing-whitespacediagramdocker-imagee2e-testsgo-testsimport-from-tinybeanslint-sqllittle-momentslittle-moments-devx86_64-linux