# Replication package: "Bounded Intelligence and Inclusive Growth"

AIgora Society. First draft 14 October 2026; revision round 1, 15 October 2026; revision rounds 2 and 3, 16 October 2026 (task 法普-20261016-01, continuing task 法普-20261014-01; the round-3 stop point was resolved by the commissioning party's ruling, option A); **revision round 4, 17 October 2026** (task 法普-20261016-02: the text was expanded to develop each result, with propositions, proofs, numbers, tables and figures unchanged). Acceptance status: the commissioning research agent accepted revision round 4 on 17 October 2026 after six acceptance rounds; the paper has not been peer-reviewed.

## Contents

| Path | What it is |
|---|---|
| `paper/main.tex`, `paper/main.pdf` | Revised draft (revision round 4), double-spaced; 85 PDF pages. Body (introduction to conclusion): PDF pp. 3–65, printed pp. 1–63 (the conclusion runs onto printed p. 63). Appendices: A Proofs, PDF pp. 65–70; B Parameters, pp. 71–74; C Search strings, p. 75; D Versions of sources, pp. 75–76; E AI disclosure, pp. 76–79. References: PDF pp. 80–85 |
| `paper/references.bib` | Bibliography, corrected after citation verification |
| `paper/params_table.tex`, `paper/search_table.tex`, `paper/necessity_table.tex` | Tables generated by `code/make_tables.py` (the last is Table 2, Proposition 8's weak-necessity constructions, built from `output/numbers.json`) |
| `params.csv` | All 30 calibration parameters, each with its source or "illustrative" |
| `model/derivations.md` | Master copy of the model and proofs. Section R1 (revision round 1) supersedes the earlier statements of Propositions 1(iv), 2, 3(b)–(e), 4(i), 5, 6, 7, 8 and adds Corollary 1. Section R2 (revision round 2) supersedes R1 for Proposition 8 (fixed time share φ), Corollary 1(i), Proposition 3(a) and (c), Proposition 4(i), and adds β in Proposition 6 and the tie rule in Proposition 2 |
| `review/` | First proof review (claude-sonnet-5, single-shot): statements, raw reports, `review_record.md`. Round-1 acceptance review: `gpt-5.6-terra_review_raw_2026-10-15.md` (verbatim GPT output) and `acceptance_review_record_EN.md` (English translation of the commissioning party's review record). Round-2 acceptance review: `gpt-5.6-terra_review_raw_2026-10-16.md` (verbatim GPT output; the report is printed twice), `acceptance_review_record_round2_EN.md` and `evidence_additions_check_round2_EN.md` (English translations of the commissioning party's acceptance record and evidence check) |
| `reading_notes/` | One note per paper (14 notes) plus `volume_pdf_checks.md` (printed-page checks against the volume PDF) |
| `search_log.md`, `search_results.json` | Systematic literature search: queries, sources and hit lists |
| `evidence_review.md` | Evidence by condition in three columns (support / against / absent), with page or table for every number |
| `citations/` | Independent citation verification. `verification_table.csv` is the deliverable |
| `code/`, `output/`, `figures/` | Model checks, numerical illustration, figures |

## Reproducing

Environment: `environment.yml` (Python 3.13, numpy, scipy, sympy, pandas, matplotlib, requests, beautifulsoup4, lxml, pypdf, bibtexparser; tectonic 0.17 for LaTeX). Run from `code/`:

1. `python verify_propositions.py`: 88 symbolic and numerical checks, plus one RECORD line (reported, not counted) of Lemma 1, Propositions 1–8 and Corollary 1, written to `output/verify_propositions.txt`. The output lists the checks by result, a coverage line, the results not checked, and ends with `CHECKS 88/88 COMPLETE`. The RECORD line is the C1 weak-necessity construction at phi = 0.25, which does not break the conclusion; weak necessity is stated at phi = 0.5 only. Proposition 8's joint economy (time share `phi`, baseline 0.5, also checked at 0.25 and 0.75; compute `mu`; one price `pc1 = 0.672` for both the factor-price and the apprenticeship side), sufficiency draws and weak-necessity constructions (holdings rule `tau_scale = tau_scale_r1 / (1 - phi)`, function `necessity_params`) are in `code/prop8.py` and are run here.
2. `python numerical_illustration.py`: Figures 1–7 (`figures/`), `output/numbers.json`, `output/fig2_cases.csv` and `output/sensitivity_*.csv` (including `*_pointwise.csv`, the pointwise check of the definition). Every number quoted in Section 4 of the paper is in `numbers.json`.
3. `python necessity_examples.py`: a readable summary of Proposition 8's sufficiency draws and weak-necessity constructions (same code as in step 1). Output: `output/necessity_examples.txt`, ending with `NECESSITY CHECKS PASS`.
4. `python make_tables.py`: builds `paper/params_table.tex`, `paper/search_table.tex` and `paper/necessity_table.tex` from `params.csv`, `search_results.json` and `output/numbers.json` (run after step 2).
5. `python build_pdf.py <bundle_dir>`: compiles `paper/main.tex` with tectonic. The sandbox used here could not reach tectonic's default bundle server, so the script runs tectonic against a local directory bundle filled from the TeX Live 2022 tar on `data1b.fullyjustified.net`. With normal network access, `tectonic -X compile paper/main.tex` is enough.

Citation verification, run from the package root. This line reads only `paper/references.bib`, never the paper:

1. `python citations/verify_citations.py`: Crossref (by DOI or bibliographic query), the arXiv API, the Federal Register API and the official pages of the legal texts. Writes `citations/raw_records.json`.
2. `python citations/build_verification_table.py`: field-by-field comparison, plus the NBER table of contents for the volume chapters. Writes `verification_table_auto.csv`.
3. `python citations/finalize_table.py`: adds the adjudication of flagged fields and writes `verification_table.csv`.

The "full text read" column comes from `citations/fulltext_read_status.csv`. The author line supplied this file; it is the only input to the table that the verification line did not produce. `references_before_verification.bib` keeps the pre-correction bibliography for comparison.

## Not included

- No copyrighted text from *The Economics of Transformative AI* is included beyond short quotations in the reading notes. Page-image checks of the volume PDF were made in the sandbox and are not distributed.
- One paper could not be obtained in full text: Fishbane, Ouss and Shah (2020). Its reading note is marked UNOBTAINABLE. The paper's text no longer cites it. Like four other entries, it remains in `paper/references.bib` but is not cited, and so is not printed. `references.bib` has 50 entries, of which 45 are cited and printed. The five uncited entries are:
  - `acemoglu2018race` (Acemoglu and Restrepo, "The Race between Man and Machine");
  - `acemoglu2019tasks` (Acemoglu and Restrepo, "Automation and New Tasks");
  - `fishbane2020nudges` (Fishbane, Ouss and Shah, "Behavioral Nudges Reduce Failure to Appear for Court");
  - `korinek2026publicfinance` (Korinek and Lockwood, "Public Finance in the Age of AI: A Primer");
  - `stevenson2026fear` (Stevenson, "What Is There to Fear in a Post-AGI World?"). The full text of Hosseini Maasoum and Lichtinger (SSRN version of 6 June 2026) was obtained on 16 October 2026 and is cited directly; it is copyrighted and not included here (reading note: `reading_notes/hosseini_maasoum_lichtinger_2025.md`).
- `output/fix_review_r3.py` and `output/main_before_review_fixes.tex` document the edits made after the first proof review. `output/revise_round1_[a-d].py` are the scripted edits of revision round 1, applied to `output/main_round0_final.tex` (the first-draft text); `output/derivations_round0.md` is the first-draft master copy. `output/revise_round2_[a-e].py` are the scripted edits of revision round 2 (each asserts that every replacement matches exactly once), applied to `output/main_round1_final.tex` and `output/derivations_round1.md`, the round-1 texts. `output/revise_round3_[a-c].py` are the scripted edits of revision round 3 (c applies the commissioning party's ruling on the round-3 stop point, option A), applied to `output/main_round2_final.tex` and `output/derivations_round2.md`. `process/round5/revise_round5_[a-d].py` are the scripted edits of revision round 4 (task 法普-20261016-02). Each asserts that every replacement matches exactly once, and they are applied in order to `process/round5/main_before_round5.tex`, the round-3 text:
  - `a` expands the text (30 anchored edits, with the new passages in `inserts_part1.py` and `inserts_part2.py`);
  - `b` makes 29 sentence-level corrections after the first return slip, together with the permitted title-page changes;
  - `c` adds the supply-side evidence of Demirer, Fradkin and Tadelis and corrects three sentences of the same kind (6 replacements);
  - `d` makes two wording fixes after acceptance round 6.

  Running a to d in order reproduces `paper/main.tex` byte for byte. See the next item.

- `process/round5/` documents the expansion of the text in task 法普-20261016-02 (16 October 2026). It holds the scripted edits (`revise_round5_a.py` with `inserts_part1.py` and `inserts_part2.py`, each anchor asserted to match exactly once), applied to `main_before_round5.tex`, the accepted round-3 text. It also holds the checks of the frozen parts (`check_frozen.py`), of the derivation steps written in the text (`check_text_derivations.py`), and of the code outputs, regenerated in a separate copy and compared with this package with PDF timestamps removed (`compare_outputs.py`). The checks are logged in `checks_log.txt`. A separate review of the new text for statements that go beyond the formal results, with the response to it, is in `overreach_review_raw.md` and `overreach_review_response.md`. In this task the code, model, output, figures and parameters were not changed. After the commissioning party's return slip of 17 October 2026, `revise_round5_b.py` applies 29 sentence-level corrections on top of `revise_round5_a.py`, together with the permitted title-page changes. `check_frozen.py --allow-titlepage` reports the title page but does not fail on it. After the commissioning party's ruling on stop point 02 (17 October 2026), `revise_round5_c.py` adds the supply-side evidence of Demirer, Fradkin and Tadelis (JEP 2026), read in the authors' preprint of 12 June 2026, and corrects three same-class sentences; the new reference was checked by `citations/verify_new_entry_round5.py`, which reads only the bib entry (raw record `citations/raw_record_demirer2026market.json`). `revise_round5_d.py` (17 October 2026, after acceptance round 6) makes two wording fixes in the Section 3.5 paragraph on Demirer, Fradkin and Tadelis.
