Phase 16 — Production Rendering Pipeline Regression Suite
6
Total Checks
0
Passed
0
Failed
0
Skipped
Frontend passes sendPreGenerated=true
LetterPdfPreview sendLetter() passes sendPreGenerated: true to initiateLetterDelivery
Renderer Guard blocks legacy sends
initiateLetterDelivery returns RENDERER_GUARD_VIOLATION when sendPreGenerated is omitted
PNGs originate from LetterRenderSurface
captureSurfaceAsPngs captures [data-capture-page] elements from the render surface
PDF originates from browser jsPDF
generatePdfFromPngs constructs the PDF from browser-captured PNGs, not server-side buildPdf
No HTML tags in generated PDF
PDF binary is scanned for <div>, <span>, <html>, <p> — none should appear in the text layer
Renderer Guard present in initiateLetterDelivery
The guard code block exists in the backend function source
Letter Writer → Save → Preview (/view-pdf)
↓
LetterRenderSurface (Browser Authority)
↓
browserLetterRenderer.js
├─ captureSurfaceAsPngs (html2canvas) → PNGs
└─ generatePdfFromPngs (jsPDF) → PDF
↓
initiateLetterDelivery (sendPreGenerated=true)
↓
[RENDERER GUARD: legacy buildPdf() BLOCKED]
↓
Resend → Recipient