Verify the mini-course — The Limits of Good Will¶
Purpose¶
Confirm that the ten-lecture course is structurally consistent, factually accurate against the cited literature, and aligned with the four papers' findings. The course is the pedagogical altitude of the BDPD ecosystem: it sits between the research papers (which it summarises and contextualises) and the card game (which it occasionally references). A pass means:
- Structural pattern — every lecture follows the declared five-section template (good-will intuition → what the classics actually say → what survives → the BDPD angle → mini-challenge).
- Citation integrity — every external claim is backed by a PDF in
migration/docs/library/, and the paraphrase is faithful. - Internal consistency with the papers — BDPD findings cited in the lectures match what the papers actually claim.
- Status accuracy — empirical mini-challenges (where the platform has run the experiment) point to runnable scenarios; thought-experiment mini-challenges are labelled as such.
Where to look¶
Course sources¶
migration/docs/publications/mini_course/index.qmd— preface ("About this course") with the ten-lecture table of contents.migration/docs/publications/mini_course/lesson_01.qmd— Just Talk to Each Other (cheap talk).migration/docs/publications/mini_course/lesson_02.qmd— We Are Enough Among Ourselves (Olson and group size).migration/docs/publications/mini_course/lesson_03.qmd— Decentralize Everything (polycentric governance).migration/docs/publications/mini_course/lesson_04.qmd— Let's Punish the Cheaters (sanctions and altruistic punishment).migration/docs/publications/mini_course/lesson_05.qmd— Democratic Voting (Arrow).migration/docs/publications/mini_course/lesson_06.qmd— The Market Knows (Pigou and Coase).migration/docs/publications/mini_course/lesson_07.qmd— We Need a Rule (Goodhart).migration/docs/publications/mini_course/lesson_08.qmd— More Information Equals Better Decisions (informational cascades).migration/docs/publications/mini_course/lesson_09.qmd— If We Meet Again, We Cooperate (folk theorem).migration/docs/publications/mini_course/lesson_10.qmd— We'll See the Danger Coming (leading vs lagging, Seneca).migration/docs/publications/mini_course/appendix_01_worked_example.qmd— appendix.migration/docs/publications/mini_course/references.qmd— bibliography placeholder.migration/docs/publications/mini_course/_quarto.yml— render config.
Compiled output¶
migration/docs/publications/mini_course/_site/index.html— HTML.migration/docs/publications/mini_course/_site/The-Limits-of-Good-Will.pdf— PDF (the form most readers will use).
Bibliography¶
migration/docs/publications/paper_00/bdpd_full.bib— shared with the papers.migration/docs/library/<bibkey>.pdf— primary sources. No claim may be cited without a recoverable PDF (project rule, seefeedback_no_citation_without_sourcememory).migration/docs/library/txts/<bibkey>.txt— extracted text, useful for grepping for the attributed phrase.
BDPD-angle backing¶
The "BDPD angle" section of each lecture cites one or more of the four papers and the corresponding pilot data:
| Lecture | Cites paper | Pilot data |
|---|---|---|
| 1 — Cheap talk | BDPD¹ | data/pilot/d1*, data/pilot/d1_cell_c/ |
| 2 — Olson / group size | BDPD⁰ (P11 sweep, multi-aggressor) | data/pilot/v10_d*, data/pilot/v10_seed_sweep/ |
| 3 — Polycentric | BDPD² (vignettes) and BDPD³ (cascade) | data/pilot/hardin_3p__*, data/pilot/olson_3p__*, data/pilot/v11_s2/ |
| 4 — Sanctions | BDPD¹ (graduated ladder) | data/pilot/d2*, data/pilot/d2_ladder_sweep/ |
| 5 — Voting | thought-experiment (no BDPD pilot) | — |
| 6 — Market / Pigou-Coase | thought-experiment | — |
| 7 — Goodhart / rules | BDPD¹ signal-adaptive vs rule-bound | data/pilot/d1_cell_c/, data/pilot/c1/ |
| 8 — Informational cascades | thought-experiment | — |
| 9 — Folk theorem | thought-experiment | — |
| 10 — Seneca / leading-lagging | BDPD³ | data/pilot/v11_s2/, data/pilot/v11_s3/ |
The reviewer should treat this table as the expected mapping. Drift between this mapping and what each lesson actually cites is a finding.
Cross-references to verify¶
- The course index (
index.qmd) lists every lecture with a live link. Stale(coming)markers were removed during the v1.1 rewrite — confirm none reappeared. - Lectures 1–10 should not cross-reference each other temporally as if one was written before the others — the papers are contemporaneous views of the same platform.
Procedure¶
- Read the index (
index.qmd) to confirm the five-section template declaration and the absence of(coming)markers. - Per-lecture structural check — confirm each of
lesson_01.qmdtolesson_10.qmdcontains the five sections (look for the headings or callouts that mark them). A lecture missing a section is a finding. - Per-lecture citation-in-context audit — for each lecture:
grep -oE '@[a-z0-9_]+' lesson_NN.qmd | sort -u→ list of bibkeys cited.- For each bibkey: confirm
migration/docs/library/<bibkey>.pdfexists. Missing PDF is a hard fail (project rule: no citation without a recoverable source). -
For each load-bearing citation (those that anchor a numerical or empirical claim, not just framing references), apply the four-part check:
a. Content accuracy. Grep
migration/docs/library/txts/<bibkey>.txtfor the keyword in the lecture's surrounding sentence. Open the matching passage in the PDF. Confirm the source's actual claim matches what the lecture attributes to it. b. Context appropriateness. The lecture frames each classical work in the context of what survives when LLM agents enter the picture. Citations should be deployed where the original work's argument applies, with the BDPD-angle extension marked clearly as a new contribution and not collapsed into the cited author's position. c. Hedging match. Lecture claims should not strengthen a hedge the source itself maintained — particularly important for Arrow's impossibility (Lecture 5), Goodhart (Lecture 7), and the folk theorem (Lecture 9), all of which are claims about bounds, not failures. d. Bib-key precision. Year, authors, venue inbdpd_full.bibmust match the actual PDF.
The lecture is pedagogical — some paraphrastic loosening is expected and acceptable. The threshold for finding is: the lecture's reader, on opening the cited PDF, would be surprised by what they find. Surprise = finding.
4. BDPD-angle backing — for each empirical lecture (1, 2, 3, 4, 7, 10), confirm the cited paper finding matches the corresponding paper's claim, and the cited pilot data directory exists with non-empty content.
5. Mini-challenge labelling — confirm each lecture closes with a mini-challenge labelled either as runnable (against a local BDPD install) or as a thought-experiment. The index.qmd preface promises this distinction; lectures violating it are a finding.
6. Cross-lecture consistency — pick three claims that recur across multiple lectures (e.g. the cheap-talk null appears in lessons 1, 7, 10). Confirm the framing is consistent.
7. Render check — bash render_publications.sh --which mini_course. The PDF must render without ?/broken glyphs (the no-Unicode-in-qmd rule applies). Math-in-pipe-table-cell is forbidden — flag any $x$ that renders literally in a PDF table cell.
Acceptance criteria¶
| Check | Pass | Partial | Fail |
|---|---|---|---|
| Index TOC | 10 live links, no (coming) |
≤2 stale markers | ≥3 stale markers |
| Structural template (10 lectures) | all 5 sections present in each | 1–2 lectures missing a section | ≥3 lectures malformed |
| Citation PDFs | every cited bibkey present in library/ |
1–3 missing PDFs | ≥4 missing |
| Citation paraphrase (3 spot-checks per lecture × 10) | ≥27/30 faithful | 25–26/30 | <25/30 |
| BDPD-angle backing | every empirical lecture cites its paper + pilot data faithfully | minor framing drift | a lesson misrepresents its paper |
| Mini-challenge labelling | empirical vs thought-experiment marked clearly | 1–2 ambiguous | ≥3 ambiguous |
| Render | clean HTML + PDF | minor stylistic glitch | broken / ? glyphs |
Common pitfalls¶
- No Unicode outside math mode — Greek letters, subscripts, emoji break PDF; use
$\theta$,$k_2$, etc. - No math in pipe-table cells — render breaks silently. Use prose instead.
@bibkeynot[@bibkey]— Pandoc-style citations need brackets to render as Author (Year). A bare@bibkeyis incorrect markdown.- Lessons 5, 6, 8, 9 are thought-experiment lessons. Their BDPD angles are speculative, not empirical. A reviewer who flags them for "missing pilot data" has misread the design. Lesson 2's group-size angle is likewise speculative (no group-size sweep has been run); its only empirical anchor is the multi-aggressor P11 result, so do not flag lesson 2 for a missing group-size pilot.
- Cover image and theme are inherited from the mini_course
_quarto.yml. Do not flag formatting differences from the papers as bugs.
Output¶
A report at tmp/verification/mini_course_report.md with:
- 10-lecture ledger — one row per lecture, with columns: structural Pass/Partial/Fail, citation-PDF coverage, BDPD-angle backing, mini-challenge labelling.
- Stale citations — list of bibkeys cited but missing in
library/, with line locations. - Paraphrase findings — any citation where the lecture text misrepresents the source.
- Cross-lecture inconsistencies — claims that drift between lectures.
- Render notes — any
?glyph or broken math in the produced PDF.
Reviewer prompt (copy-paste)¶
You are an independent reviewer verifying the BDPD mini-course The Limits of Good Will. The repository is at
migration/. Followmigration/docs/verification/verify_mini_course.md. The course has ten lectures, an index, and one worked-example appendix. Your job is to confirm structural consistency (every lecture follows the five-section template), citation integrity (every cited work has a PDF inmigration/docs/library/, and the paraphrase is faithful), and alignment with the four BDPD papers for the empirical lectures (1, 2, 3, 4, 7, 10). Treat lectures 5, 6, 8, 9 as deliberate thought-experiments — they will not have pilot data. Produce the report attmp/verification/mini_course_report.md. Time budget: roughly one and a half working days for the full pass (most of the time goes to citation accuracy spot-checks).