render-lit-review

Render lit review synthesis to PDF via typst+pandoc with citations

Metadata

Statusdone
Assignedagent-940
Agent identityf51439356729d112a6c404803d88015d5b44832c6c584c62b96732b63c2b0c7e
Modelclaude:sonnet
Created2026-05-06T14:48:00.479126278+00:00
Started2026-05-06T14:48:47.054477815+00:00
Completed2026-05-06T14:54:25.175882537+00:00
Tagslit-review, render, paper-prep, eval-scheduled
Eval score0.93
└ blocking impact0.95
└ completeness0.95
└ constraint fidelity0.85
└ coordination overhead0.95
└ correctness0.95
└ downstream usability0.90
└ efficiency0.85
└ intent fidelity0.74
└ style adherence0.95

Description

GOAL: Render paper_prep/lit_review/SYNTHESIS_v2.md (produced by upstream lit-review-v2 task) to a typst-driven PDF with properly formatted academic citations and a complete reference list. Lead author Erik Garrison wants to read this end-to-end as the canonical historical-context document for the manuscript.

INPUTS:

  • paper_prep/lit_review/SYNTHESIS_v2.md (~6,000-10,000 word narrative; produced by lit-review-v2)
  • paper_prep/lit_review/CHRONOLOGY_v2.md (timeline table; include as appendix)
  • paper_prep/synthesis/REFERENCES_v3.bib (augmented BibTeX, ~150-220 entries; produced by lit-review-v2)
  • paper_prep/lit_review/GAPS_v2.md (open questions; include as appendix)

PIPELINE — same incantation as render-manuscript-draft-4 succeeded with:

  1. Verify pandoc >= 3.5 in PATH (download static binary to /tmp if not — see render-manuscript-draft-4 task log for the curl + tar command). typst is at ~/.local/bin/typst v0.13.1.
  2. Convert markdown to typst with bibliography integration: cd paper_prep/lit_review pandoc SYNTHESIS_v2.md \ --citeproc --bibliography=../synthesis/REFERENCES_v3.bib \ -t typst \ -o SYNTHESIS_v2.typ 2>&1 | tee pandoc_convert.log If --citeproc produces malformed @key references (the issue we hit on render-manuscript-draft-4), drop --citeproc and use typst native @key + #bibliography directive at the end of the .typ file. Reference: end-to-end-report's pedigree assets used this approach.
  3. Append at end of SYNTHESIS_v2.typ (if not already added by pandoc): #pagebreak() = References #bibliography("../synthesis/REFERENCES_v3.bib", style: "chicago-author-date", title: none) Then optionally append CHRONOLOGY_v2.md and GAPS_v2.md content as appendices (convert each via pandoc -t typst, paste in).
  4. Compile: typst compile SYNTHESIS_v2.typ SYNTHESIS_v2.pdf 2>&1 | tee render.log If typst complains about a \cite or @key it cannot resolve, log the offending key and continue (commit what compiles); do NOT fail the whole render for a single bad cite.
  5. MANDATORY VERIFICATION (lessons from render-manuscript-draft-2/4 figureless-PDF disasters): a. file paper_prep/lit_review/SYNTHESIS_v2.pdf -> 'PDF document' b. pdfinfo shows >= 15 pages (a 6-10k word doc with bibliography should be that long) c. pdftotext SYNTHESIS_v2.pdf - | grep -c -E '\(\\d{4}\)' shows >= 30 (year-citations present in body — confirms citations rendered, not just literal @keys) d. pdftotext SYNTHESIS_v2.pdf - | tail -200 contains 'References' header AND a list of references (each with author/year visible) e. pdftoppm -r 100 SYNTHESIS_v2.pdf _render/page (per-page screenshots committed alongside) — Erik can spot-check If any check fails, log the specific issue and either fix or 'wg fail' with the error.
  6. Record paper_prep/lit_review/SYNTHESIS_v2.pdf as wg artifact.
  7. Single commit: 'feat: SYNTHESIS_v2 PDF via typst+pandoc with full bibliography'.

ACCEPTANCE:

  • paper_prep/lit_review/SYNTHESIS_v2.pdf exists; >= 15 pages; >= 30 year-citations rendered in body; References section present at end with author-year list; per-page screenshots committed under paper_prep/lit_review/_render/.
  • render.log + pandoc_convert.log committed alongside.
  • wg artifact records SYNTHESIS_v2.pdf.

DO NOT:

  • Modify SYNTHESIS_v2.md, CHRONOLOGY_v2.md, GAPS_v2.md, REFERENCES_v3.bib, or any topic_NN_*.{md,bib} (read-only inputs).
  • Touch files outside paper_prep/lit_review/.
  • Use SBATCH (light: pandoc + typst, runs in seconds-to-minutes).
  • Skip verification step 5 — that's the lesson from render-manuscript-draft-2 (which produced a figureless PDF that 'passed' acceptance because we only checked file=PDF + page count, not content).

Depends on

Required by

Log