SOIL Morning Email — Unified Renderer

Preview and send both call renderMorningProtocolEmail() inside the backend function. No duplicated HTML anywhere.

Preview hash:bb7621ed0c9c282f

Verification — Send + Compare Hashes

Step 1: Send test emails to both recipients. Step 2: Fetch preview hashes using real user data. Step 3: Compare — hashes must match.

Architecture

Both preview and send call renderMorningProtocolEmail() inside functions/sendMorningProtocolMessage. This page generates sample DATA and passes it to the function's mode: 'preview' handler. No HTML is duplicated in this page.