feat(db): migration 032 — auth_users.email_verified (beta-grant gating)#113
Merged
Merged
Conversation
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
auth_users.email_verifiedso 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:
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