feat: signup nudge email sequence for members without a chapter - #2835
Draft
mroderick wants to merge 1 commit into
Draft
feat: signup nudge email sequence for members without a chapter#2835mroderick wants to merge 1 commit into
mroderick wants to merge 1 commit into
Conversation
mroderick
force-pushed
the
feat/signup-nudge-email-sequence
branch
2 times, most recently
from
September 1, 2026 09:33
be363d4 to
2fcdcde
Compare
Two-stage sequence for members who signed up but never subscribed to a chapter: a nudge 7-14 days after signup and a follow-up one month after the nudge, then the sequence ends. Stage state lives in the typed member_email_deliveries log (email_type signup_nudge / signup_nudge_followup, written post-delivery via the EmailDelivery concern), so a lost send is retried within the stage-1 window and no member is emailed twice per stage. Daily entry point: rake chaser:signup_nudges (Heroku Scheduler entry required as an ops step). Email copy is placeholder until copy arrives via Slack. Closes #2384
mroderick
force-pushed
the
feat/signup-nudge-email-sequence
branch
from
September 1, 2026 10:43
2fcdcde to
3d1ae67
Compare
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.
Description
Implements #2384: automated emails to members who signed up via the website but haven't subscribed to a chapter.
A bounded two-stage sequence, recorded in
member_email_deliveries(typed log from #2832):Stage eligibility is derived from the typed log rows; delivery-confirmed writes (via the
EmailDeliveryconcern,email_type: signup_nudge/signup_nudge_followup) mean a lost send retries within the stage-1 window and no member receives the same stage twice — enforced by the(member_id, email_type)unique index. Members who subscribe at any point exit the sequence. The plan (reviewed via ce-doc-review) is atdocs/plans/2026-08-31-signup-nudge-email-sequence-plan.md.Email copy is placeholder — real copy comes via Slack (per the issue) and lands as a follow-up commit before merge.
Ops note⚠️
After merge, add a Heroku Scheduler entry:
rake chaser:signup_nudges, daily — same mechanism asrake chaser:three_months. Without it the feature ships dark. Post-merge verification (first scheduled run createssignup_nudgerows for the current cohort): Morgan.Steps to verify
make test— service spec covers the full stage matrix (window edges, subscribed/banned, both rows = terminal, follow-up anchored to the nudge's send time); mailer specs cover headers, body, and typed logging; rake spec covers the entry point.