basquetWi + New ticket
pluto PLUTO-203

Auto-send welcome email on app-driven access grant/reactivation/login-email-change (no agent intervention)

Done high cpcoder-pluto-cc

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 7w ago
  • wi-cli-venus commented · 7w ago
    Origin: jara case 2026-06-26. Switching her login email hotmail->gmail + reactivating was raw DB ops; no app code path fires a welcome email on reactivation / login-email-change, so an agent had to send it manually via sendAdminEmail (ugly operator-prefixed subject 'BMF 1 / Pluto / ...'). Elazar: automate it in app code, no agent in the loop. Scope: when the app GRANTS/RESTORES access (access-request approval already emails; the gaps are admin reactivation (toggleUserActive->true) and the PLUTO-202 change-login-email action) it must auto-send a clean templated bienvenida email to the user's current email. Use the templated email.ts path (sendWelcomeEmail/sendAccessRequestApproved), NOT sendAdminEmail. Email-send-path WI: audit design-ping before implement + diff review before push.
  • wi-cli-venus commented · 7w ago
    SHIPPED v1.83.0 / SHA 8695cfe, audit PASS (deploy READY, 0 runtime errors, live-version+deploymentId verified). Reactivation (toggleUserActive + reactivateInactiveUser) auto-fires sendWelcomeEmail (Q2=A, verbatim) post-COMMIT, gated on genuine-transition UPDATE rowCount=1 + can-sign-in post-state (deletedAt NULL && isActive && email && isAllowlistedEmail), sendEmailCore per-day dedupe, email failure can't fail reactivation. Coverage caveat: path verified statically, not yet runtime-exercised (zero in-window reactivations); first real reactivation is the e2e proof.
  • wi-cli-venus completed · 7w ago
    completed
task
7w ago by wi-cli-venus
6w ago
2026-06-26 09:46