Skip to content

Verify the blog book — BDPD Research Notes

Purpose

Confirm that the six collected blog dispatches are aligned with the papers' empirical record and do not overclaim. The blog book is the temperature layer of the BDPD ecosystem — short essays written alongside the laboratory work, conveying what each finding felt like without sacrificing accuracy. A pass means:

  1. Empirical alignment — every numerical or directional claim in a dispatch matches what the corresponding paper says.
  2. Hedging discipline — no "first / never / nobody" claims about literature coverage; epistemic-humility conventions (see project memory feedback_epistemic_humility_coverage).
  3. No new claims — the blog notes do not introduce findings that are not already in the papers; if they do, those claims must be flagged for proper paper-level verification.
  4. Render integrity — math is in math mode, no broken-glyph subscripts in PDF, no stylistic blog-only CSS leakage.

Where to look

Blog-book sources

  • migration/docs/publications/blog_book/index.qmd — preface ("About these notes") with the six-chapter TOC.
  • migration/docs/publications/blog_book/chapter_00.qmdWhat Happens When One Bad Actor Enters the Commons? (BDPD⁰)
  • migration/docs/publications/blog_book/chapter_01.qmdWhy Communication Wasn't Enough (BDPD¹)
  • migration/docs/publications/blog_book/chapter_02.qmdThe Slow Catastrophe Has a Tell (BDPD³)
  • migration/docs/publications/blog_book/chapter_03.qmdWhat a Card Game Knows That a Differential Equation Doesn't (dual-mode methodology)
  • migration/docs/publications/blog_book/chapter_04.qmdYou Can't Save the Polluter by Punishing Households (BDPD³)
  • migration/docs/publications/blog_book/chapter_05.qmdThe Mule, the Compensator, and the Inevitability of Late Defection (BDPD¹)
  • migration/docs/publications/blog_book/_quarto.yml — render config. It does configure bibliography: ../paper_00/bdpd_full.bib + references.qmd, used only for the index's cross-references to the BDPD series; the chapters carry no academic citations.
  • migration/docs/publications/blog_book/extract_blogs.py — the conversion script from the original HTML blogs to the book chapters. Useful for understanding what was filtered and what was preserved.

Original HTML blogs (the cousins of the book chapters)

  • migration/docs/publications/blog_00/bdpd-blog-article.html
  • migration/docs/publications/blog_01/bdpd-blog-article.html
  • migration/docs/publications/blog_02/bdpd-blog-article.html
  • migration/docs/publications/blog_03/bdpd-blog-article.html
  • migration/docs/publications/blog_04/bdpd-blog-article.html
  • migration/docs/publications/blog_05/bdpd-blog-article.html

These are the source of truth for the blog narrative — the book chapters were extracted from them mechanically. Substantive divergence between an HTML and the corresponding chapter is a finding (most likely caused by the extraction script).

Compiled output

  • migration/docs/publications/blog_book/_site/index.html — HTML.
  • migration/docs/publications/blog_book/_site/BDPD-Research-Notes.pdf — PDF.
  • migration/docs/publications/blog_book/_site/chapter_*.html — per-chapter HTML.

Papers / pilot data — the empirical backing

Blog chapter Paper Pilot data
00 — One Bad Actor BDPD⁰ data/pilot/v10_d1/, data/pilot/v10_seed_sweep/, data/pilot/v10_d5/ (junk-purity sweep)
01 — Communication BDPD¹ data/pilot/d1*, data/pilot/d1_cell_c/
02 — Slow Catastrophe BDPD³ data/pilot/v11_s2/, data/pilot/v11_s3/
03 — Card Game dual-mode (BDPD⁰ + card-game tournament logs) platform pilots + card-game tournament outputs
04 — Save the Polluter BDPD³ data/pilot/v11_s3/ (cap vs levy vs fine cells)
05 — Mule and Compensator BDPD¹ data/pilot/d2*, data/pilot/d2_ladder_sweep/

Bibliography — not used here

The blog book's chapters carry no academic citations by design — a @bibkey inside chapter_NN.qmd is a finding. The index (index.qmd), however, legitimately cross-references the BDPD series via [@bdpd-paper-0; @bdpd-paper-1; @bdpd-paper-2; @bdpd-paper-3; @bdpd-mini-course] (a configured bibliography resolves these keys); that is intended, not a finding.

Procedure

  1. Read the blog-book PDF cover-to-cover (~90 minutes). For each chapter, take notes on every numerical claim and every load-bearing directional claim.
  2. Cross-reference each claim against the corresponding paper. If the paper says \(d = 0.17\) at \(N=5\) and the blog says "almost nothing", that is faithful (qualitative hedge of a small quantitative effect). If the paper says +27 % and the blog says +47 %, that is a finding.
  3. Overclaim audit — scan each chapter for absolute literature claims (first to, never before, no one has, every X, always, the only way). The project rule is that those must be replaced by hedged variants (to our knowledge, among the first, the dominant tradition). Flag every unhedged absolute.
  4. HTML ↔ chapter trace — for each blog bdpd-blog-article.html, open the corresponding chapter_NN.qmd. The narrative should be near-identical. Substantive differences (whole paragraphs missing, claims rephrased) are findings; cosmetic differences (the topbar / article-footer / findings-box reformatting) are intended (see extract_blogs.py).
  5. Math rendering check — every claim involving a number, a parameter, or an ODE must be in math mode ($...$ or $$ ... $$). The Bardi RCP equations in chapter 2 should render as a proper LaTeX aligned environment in the PDF.
  6. No stale citations / no orphan spans — confirm no […]{.category}, [·]{.byline-sep}, […]{.finding-num}, […]{.finding-content}, […]{.findings-box-title}, \$...\$ (escaped dollar pairs) survive in the chapter sources.
  7. Render checkbash render_publications.sh --which blog_book. PDF must be clean (no ? glyphs, no literal $x$ in pipe tables).

Acceptance criteria

Check Pass Partial Fail
Numerical claims aligned with papers every blog claim recoverable from corresponding paper minor hedge difference a number disagrees with the paper
Directional claims every direction matches paper one ambiguous claim direction contradicts paper
Overclaim audit no unhedged absolutes ≤2 unhedged absolutes ≥3 unhedged absolutes
HTML ↔ chapter near-identical narrative extraction script left minor artefact substantive divergence
Math rendering all numbers in math mode where appropriate one or two literal dollar signs literal $x$ in pipe-table cell
Orphan spans none survive one cosmetic span survives ≥3 surviving spans
Render clean PDF minor stylistic glitch broken

Common pitfalls

  • Each chapter has a byline line with middle-dot separators (·). This is intentional (preserved from the HTML). Do not flag.
  • The findings-box of each blog HTML becomes a callout-note block in the chapter. The extraction script normalises this — substantive change is impossible, only cosmetic.
  • Chapter 02 has a display-math block for the Bardi ODE. It was reconstructed from a Unicode-subscript styled <div> in the source HTML. Both PDF and HTML should render the equations cleanly.
  • Chapters carry no academic citations by design, but the index cross-references the BDPD series (keys resolved by ../paper_00/bdpd_full.bib). Flagging the index's @bdpd-paper-N keys as stray citations is a false positive (caught in the 2026-06-23 downstream audit).
  • extract_blogs.py is reproducible. If the reviewer is unsure whether a divergence is real or an extraction artefact, they can re-run the script and confirm.

Output

A report at tmp/verification/blog_book_report.md with:

  1. 6-chapter ledger — one row per chapter, with columns: empirical alignment, overclaim count, HTML ↔ chapter delta, render Pass/Partial/Fail.
  2. Overclaim list — every unhedged absolute the reviewer found, with chapter:line and the suggested hedged rewrite.
  3. Numerical drift — every blog number that disagrees with its paper, with chapter:line and the paper's number.
  4. Render notes — any glyph / math issue in the produced PDF.

Reviewer prompt (copy-paste)

You are an independent reviewer verifying the BDPD blog book Research Notes. The repository is at migration/. Follow migration/docs/verification/verify_blog_book.md. The book has six chapters, each a short dispatch tied to one of the four BDPD papers. Your job is to confirm empirical alignment (every blog claim matches the paper it comes from), hedge discipline (no unhedged "first / never / nobody" claims about literature coverage), and render integrity (math in math mode, no broken glyphs). The blog book's chapters carry no academic citations by design (a @bibkey in a chapter is a finding); the index cross-references the BDPD series via @bdpd-paper-N keys resolved by a configured bibliography — do not flag those. The original HTML blogs in blog_0[0-5]/bdpd-blog-article.html are the source of truth for the narrative; the chapter_NN.qmd files are mechanical extractions. Produce the report at tmp/verification/blog_book_report.md. Time budget: roughly half a working day.