fpdf2's built-in Helvetica was Latin-1 only and required manual line-by-line
markdown parsing, causing indentation artifacts at speaker changes. weasyprint
renders via HTML+CSS so layout, wrapping, and Unicode all work correctly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Final pipeline result becomes the email body (plain text + HTML
rendered from Markdown via multipart/alternative)
- All intermediate steps (transcript + prior analyses) are attached
each as a .md file and a .pdf file
- _md_to_pdf(): pure-Python PDF generation via fpdf2 with minimal
Markdown rendering (headers, bullets, numbered lists, inline cleanup)
- _collect_doc_chain(): walks source_document_id links to gather all
ancestor documents oldest-first
- Add fpdf2==2.8.3 to requirements.txt
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>