How we publish a paper now

For Asdra and anyone picking up the next white paper. Worked out on the Wisdom paper (Seeds of Renaissance No. 6), October 2026.

TL;DR

  • One master, many outputs. Each paper is a folder in 2rbook with the text (essay.md) and the launch copy (launch-copy.md). The PDF, website pages and Substack post are all made from those two files. Never edit the outputs by hand.
  • Facts live in front matter, tasks live in Beads. Title, authors and series number are in essay.md; links, webinar date and featured image are in launch-copy.md. Everything still to do is in the paper's Beads epic. READMEs hold no status.
  • Two commands publish it. typst/build-paper.sh <paper> (in pdf-report-publishing) builds the PDF. scripts/publish-web.py <paper> --publish (in 2rbook) puts the landing page, full text and PDF on secondrenaissance.net. To fix a typo, edit and rerun both.
  • The look is set once, in the design system, not per paper.
  • The checklist is the procedure: Publishing a white paper. Follow it top to bottom.

The pieces

WhatWhere
Text, front matter, launch copy, cover, figures2rbook, <paper>/
Procedure and release checklist2rbook, docs/publishing-a-white-paper.md
Launch copy template, mailout images2rbook, docs/launch-announcements.md
How a paper looks (anatomy, covers, diagrams) and whydesign repo, SoR design system: How we build a paper, print.md, diagrams.md
PDF build (Markdown to typeset PDF, Typst)pdf-report-publishing
Website (Flowershow; deploys on push to main)secondrenaissance, papers/<slug>.md, papers/<slug>/essay.md, assets/<slug>/
TasksBeads: the paper's epic in 2rbook (Wisdom: rbook-8k3)

How a paper goes out

Three tracks run in parallel and meet at the final PDF. Beads labels: track-content, track-build, track-comms.

  1. Content (authors): final text in essay.md; figures in house style with their build scripts; cover built from cover/cover.html.
  2. Build (agent): PDF with build-paper.sh; web pages with publish-web.py, checked on the preview site first.
  3. Comms: launch copy; webinar (Luma); Substack send and social posts.
  4. Launch day: publish the pages (they can go up early, unlinked), add the paper to the site menu and papers page, send the Substack, post the crops.

Starting the next paper

  1. Create the folder in 2rbook, copying Wisdom's files as the skeleton: essay.md front matter, launch-copy.md (or the template in launch-announcements.md), publishing-annotations.md, cover/.
  2. Create the paper's Beads epic, with children labelled by track, modelled on the Wisdom epic (rbook-8k3).
  3. Run each piece of work as its own AI session, opened with the bead ID ("work on rbook-xxx"). The session claims the bead, records decisions in its notes and closes it. A detour (say, a design question) becomes a new bead with a dependency, in whichever repo it belongs.
  4. For the PDF, add a small Typst entry in pdf-report-publishing (typst/papers/<paper>.typ, copying wisdom.typ).

Who does what

  • Rufus (and co-authors): text, figure and cover approvals, the go-ahead to publish.
  • Asdra: comms and launch tasks (webinar, Substack, promotion), and keeping the epic moving: what's blocked, what's waiting on Rufus.
  • AI sessions: build work (PDF, web pages, images) and the mechanical checklist steps, including putting the pages up. A person sends the Substack.

Not built yet

  • A Beads template so a new paper starts with the full epic (lip-93f.2.14).
  • A GitHub Action to republish the web pages when the paper changes.
  • Long-term home for published files, and download counts (lip-1ws).
  • EPUB (prp-37u) and an editorial-pass skill for pull quotes and standfirsts (prp-4eq).

Wisdom, the worked example

Built with LogoFlowershow