Skip to content

feat(db): migration 032 — auth_users.email_verified (beta-grant gating)#113

Merged
miquelmatoses merged 1 commit into
mainfrom
chore/auth-email-verified-migration
Jul 14, 2026
Merged

feat(db): migration 032 — auth_users.email_verified (beta-grant gating)#113
miquelmatoses merged 1 commit into
mainfrom
chore/auth-email-verified-migration

Conversation

@miquelmatoses

Copy link
Copy Markdown
Collaborator

Adds auth_users.email_verified so the "first 500 free Full Moon" grant can require a verified email (closes disposable-email slot-farming on the unverified password-signup path).

Backfill without revocation — column added with default TRUE, then default flipped to FALSE:

alter table public.auth_users
  add column if not exists email_verified boolean not null default true;
alter table public.auth_users
  alter column email_verified set default false;

Applied via apply-migrations.yml (workflow_dispatch), not on merge (ADR 0011). Code that reads the column ships in a follow-up PR, after this is applied and confirmed in the ledger.

🤖 Generated with Claude Code

…ting

Adds email_verified to auth_users so the "first 500 free Full Moon" grant in
ensure_profile can require a verified email, closing the disposable-email
slot-farming vector on the unverified password-signup path.

Backfill without revocation: column added with default TRUE (fills existing
rows), then default flipped to FALSE so only new accounts must verify. Magic
-link and Google set it TRUE by construction; password accounts start FALSE.
Idempotent per ADR 0011; applied via apply-migrations.yml, not on merge.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@miquelmatoses miquelmatoses merged commit cc1eb23 into main Jul 14, 2026
8 checks passed
@miquelmatoses miquelmatoses deleted the chore/auth-email-verified-migration branch July 14, 2026 10:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant