Local for the bulk, cloud for the part that matters
Claim extraction is a dozen cheap, mechanical calls per paper. Writing is the one call that decides the article’s quality. They do not need the same backend:
DRAFT_EXTRACT_ENGINE=ollama # a dozen calls, local, free, works on a plane
DRAFT_WRITE_ENGINE=claude # one call, the best writer you have
draft paper.pdfEach stage keeps its own fallback chain, so extraction dropping to Ollama does not drag writing down with it.
Look before you leap
A full run is dominated by model latency. --dry-run tells you what it would cost first, in about a tenth of a second and without calling a model:
draft --dry-run 2603.23420.pdf
Plan
Sources 1 (2603.23420.pdf)
Sections 12
Engines extract: ollama · write: claude · edit: claude
Model calls ~13 (12 extract + 1 write, plus up to 2 retries)
Output ~/Drop/Drafts/2026-07-30/And if a run fails after extraction, --resume re-verifies the ledger it already produced and skips straight to writing — seconds instead of minutes.