auth.server.ts: switch generateId to application-generated UUIDs so the
ID is known before the insert, then move flagConfig assignment from
create.after (a separate UPDATE) to create.before so it lands in the
initial INSERT with no race window.
FlagSvg.tsx: validate the config with parseFlagConfig before rendering;
corrupt or missing data falls back to a neutral gray triband flag rather
than silently rendering blank SVG shapes.
https://claude.ai/code/session_01T7iTb9YZLuWJFtKV753tdB
* Remove backfill-flag-configs script
One-time migration has been run; script is no longer needed.
https://claude.ai/code/session_014RUwPfm1qc539xLxW4m9Uy
* Clean up flag config code
- FlagSvg: remove redundant getDisplayFlagConfig call; config is already a
valid FlagConfig by type, so the validation/fallback was dead code. Also
replace the unreachable `?? "#adf661"` fallback with a non-null assertion.
- team/user models: pre-generate ID before insert so flagConfig is persisted
immediately on creation rather than relying on display-time generation.
- auth.server.ts: add create.after hook so BetterAuth-created users also get
a flagConfig written to the DB on signup.
https://claude.ai/code/session_014RUwPfm1qc539xLxW4m9Uy
* Fix lint: replace non-null assertion in FlagSvg with destructure defaults
oxlint forbids the ! operator; destructuring with empty-string defaults
is equivalent since FlagConfig always has 3 colors.
https://claude.ai/code/session_014RUwPfm1qc539xLxW4m9Uy
---------
Co-authored-by: Claude <noreply@anthropic.com>