Visual proof for CTO approval. All 3 protocol emails migrated to Master Renderer. Before/After, personalization, unmigrated verification, and deep link validation.
Female, "Building Foundations" phase, 2 protocols, low morning energy, regulation mechanism
Male, "Deepening Practice" phase, 1 protocol, nourishment mechanism, sleep focus
| Aspect | User A (Dana) | User B (Yossi) | Why it differs |
|---|---|---|---|
| Phase | building_foundations → "בניית יסודות" | deepening_practice → "העמקת התרגול" | The intro text references the member's current journey phase, so each member sees their own phase named. |
| Protocol count | 2 protocols | 1 protocol | Subject line and preheader are protocol-count aware ("2 protocols" vs "1 protocol"). |
| Domain focus | Mindfulness + Movement | Sleep | Protocol list shows different domains. The "why today" section explains why each specific protocol was chosen. |
| Mechanism | Regulation (ויסות) | Nourishment (הזנה) | The "recommended mechanism" alert differs based on Brain's mechanism priority for the week. |
| Why today | Low morning energy → breathing chosen | Declining sleep quality → sleep protocol chosen | Each protocol has a why_today field generated by the Brain explaining the signal that triggered it. |
| Motivation | "Every protocol strengthens your foundation" | "This isn't repetition — it's evolution" | Motivation quote is phase-aware: building_foundations gets foundation language, deepening_practice gets evolution language. |
| Streak (reminder) | 3-day streak | 7-day streak | Reminder email shows actual streak count and adjusts the success alert and intro text accordingly. |
These email functions were not modified in Phase 2. They use their own rendering (renderSoilEmailShell, sendActiveTrailEmail, etc.) and are independent of the Master Renderer. Click "Verify All" to confirm each function is deployed and responds.
| Function | Category | Status | Detail |
|---|---|---|---|
| sendWelcomeEmail | Registration | — | Not tested yet |
| sendPaymentSuccessEmail | Payment | — | Not tested yet |
| sendPaymentConfirmation | Payment | — | Not tested yet |
| sendEventRegistrationEmail | Community/Events | — | Not tested yet |
| sendNewEventEmail | Community/Events | — | Not tested yet |
| sendRecoveryLetter | Recovery | — | Not tested yet |
| sendTrialEndingEmail | Subscription | — | Not tested yet |
| sendRenewalReminder | Subscription | — | Not tested yet |
| sendWeeklyFeedbackEmail | Feedback | — | Not tested yet |
Every CTA link extracted from all 6 rendered emails (3 templates × 2 languages). Links use the /open?to= deep link format which routes to the correct in-app destination on both desktop and mobile.
| Template | Lang | Link Label | URL | Expected Destination | Status |
|---|---|---|---|---|---|
| Daily Protocol | HE | — | https://fonts.googleapis.com | External | External |
| Daily Protocol | HE | — | https://fonts.gstatic.com | External | External |
| Daily Protocol | HE | — | https://fonts.googleapis.com/css2?family=Alef:wght@300;400;700&display=swap | External | External |
| Daily Protocol | HE | להמשיך מכאן | undefined/open?to=/protocols | Protocols page (deep link) | Correct |
| Daily Protocol | HE | עדכן | undefined/settings | Settings / preferences (deep link) | Correct |
| Daily Protocol | EN | — | https://fonts.googleapis.com | External | External |
| Daily Protocol | EN | — | https://fonts.gstatic.com | External | External |
| Daily Protocol | EN | — | https://fonts.googleapis.com/css2?family=Alef:wght@300;400;700&display=swap | External | External |
| Daily Protocol | EN | Continue from here | undefined/open?to=/protocols | Protocols page (deep link) | Correct |
| Daily Protocol | EN | Update | undefined/settings | Settings / preferences (deep link) | Correct |
| Weekly Protocol | HE | — | https://fonts.googleapis.com | External | External |
| Weekly Protocol | HE | — | https://fonts.gstatic.com | External | External |
| Weekly Protocol | HE | — | https://fonts.googleapis.com/css2?family=Alef:wght@300;400;700&display=swap | External | External |
| Weekly Protocol | HE | לדשבורד שלי | undefined/open?to=/dashboard | Dashboard (deep link) | Correct |
| Weekly Protocol | HE | עדכן | undefined/settings | Settings / preferences (deep link) | Correct |
| Weekly Protocol | EN | — | https://fonts.googleapis.com | External | External |
| Weekly Protocol | EN | — | https://fonts.gstatic.com | External | External |
| Weekly Protocol | EN | — | https://fonts.googleapis.com/css2?family=Alef:wght@300;400;700&display=swap | External | External |
| Weekly Protocol | EN | View dashboard | undefined/open?to=/dashboard | Dashboard (deep link) | Correct |
| Weekly Protocol | EN | Update | undefined/settings | Settings / preferences (deep link) | Correct |
| Protocol Reminder | HE | — | https://fonts.googleapis.com | External | External |
| Protocol Reminder | HE | — | https://fonts.gstatic.com | External | External |
| Protocol Reminder | HE | — | https://fonts.googleapis.com/css2?family=Alef:wght@300;400;700&display=swap | External | External |
| Protocol Reminder | HE | להשלים את הפרוטוקולים | undefined/open?to=/protocols | Protocols page (deep link) | Correct |
| Protocol Reminder | HE | עדכן | undefined/settings | Settings / preferences (deep link) | Correct |
| Protocol Reminder | EN | — | https://fonts.googleapis.com | External | External |
| Protocol Reminder | EN | — | https://fonts.gstatic.com | External | External |
| Protocol Reminder | EN | — | https://fonts.googleapis.com/css2?family=Alef:wght@300;400;700&display=swap | External | External |
| Protocol Reminder | EN | Complete your protocols | undefined/open?to=/protocols | Protocols page (deep link) | Correct |
| Protocol Reminder | EN | Update | undefined/settings | Settings / preferences (deep link) | Correct |