Marshal and unmarshal both use the base62 KSUID string, replacing the
legacy JSON object wrapper and aligning gqlgen scalar behavior.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the UUID wrapper with storage-specific KSUID types that share
GraphQL string transit but use distinct SQL Scan/Value encodings.
Co-authored-by: Cursor <cursoragent@cursor.com>