Skip to content

Paper: the rewritten working paper (v4) with the landscape of Social Security models - #491

Merged
MaxGhenis merged 9 commits into
masterfrom
paper-rewrite-20260929
Sep 29, 2026
Merged

MaxGhenis merged 9 commits into
masterfrom
paper-rewrite-20260929

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Replaces the working paper (paper/paper.qmd) with the rewrite that is now live at microcosm.institute/dynamics/paper (published in microcosm.institute#78, Max's go on d628).

What the paper now does

  • Describes the model as it stands, in plain active voice: the starting population, the projection engine and the rules layer.
  • Lists what each component does and how it is tested, and states which gate passes rest on amendments adopted after failures.
  • Presents the four blind tests against DYNASIM3 with their limits.
  • Covers what remains to build, including planned comparisons beyond DYNASIM with SSA's actuaries, MINT, CBO and Penn Wharton.
  • Adds a landscape section that catalogues the other models estimating US Social Security reforms. Every fact traces to a source note, and no model's estimate for the four exercise reforms appears.
  • Adds 76 references to docs/references.bib: 3 in the rewrite and 73 in the landscape section.

Corrections relative to the fact-checked draft, each verified in the repo

  • Claim ages come from SSA's Annual Statistical Supplement, Table 6.B5.1 (claiming.py).
  • Mortality runs with no gate.
  • The exercise 2 headline is 0.46 (0.46487).
  • Only gate 1 holds out 20 percent.
  • The projections use the 2008 Trustees Report's intermediate COLA and wage-index paths.
  • Gate 3 has no cells.
  • The minimum-benefit split by sex holds in the primary specification only.

Also in this PR

  • docs/progress.md and docs/progress/scorecard.json (commit c302a79): five capability rows refreshed against the verified inventory. They match the paper's statements, and progress.md is byte-identical to scripts/build_progress_page.py output.
  • A dated addendum to docs/errata/2026-09-29-anchor-provenance.md, saying where the rewrite carries the Correct the provenance of two replication anchors (CBO 2005; DYNASIM4) #489 correction.
  • One sentence differs from the published copy. The repo version adds that an erratum corrects the committed label. The published copy is not wrong, and the next site update will sync it.

Review record

  • Two fact-check rounds, a claims, voice and hostile-expert round, and a convergence round.
  • Nine simulated persona reviews, whose fixes an independent adjudicator verified before applying.
  • A landscape claims and voice check with 43 adjudicated findings.

Merge of master and review

  • paper.qmd takes the rewrite, which carries Correct the provenance of two replication anchors (CBO 2005; DYNASIM4) #489's CBO-2005 correction in its own words.
  • tests/test_anchor_provenance_erratum.py pins the rewrite's sentence. All ten provenance tests pass.
  • An independent review approved the merge at 56568ab: it rendered with no warnings, found 83 cited keys all present, no duplicate keys and nothing from master lost. Its low findings are applied in the follow-up commit.

🤖 Generated with Claude Code

MaxGhenis and others added 8 commits September 28, 2026 22:55
Replace paper/paper.qmd with a present-tense description of Microcosm
Dynamics:
- the model's three layers;
- what each component covers today, with gate verdicts read from runs/;
- how gates score the model;
- the four registered blind tests against DYNASIM3;
- the planned work and related models.

Add the three DYNASIM3 source reports to docs/references.bib.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…om scope, Trustees figures

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tory

- Historical earnings: gate 1 certifies the generated backcast process;
  the DynaSim tests read the recorded careers.
- Disability: gate m4 covers work limitation; the SSDI entitlement the
  tests use is not gated.
- Forward projection: say what m6 scores; gate 3 has not run.
- Rule engine: the Python oracle, plus the diagnostic Axiom AIME match.
- Wealth: no projection; exercise 2 annuitizes wealth statically.

Regenerated docs/progress.md with scripts/build_progress_page.py.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Disclose all four amendment-dependent passes: gates 1, 2, w1 and m6.
- Narrow the abstract's Axiom claim to the statutory-year AIME.
- Fix the rerun sentence, and the "data" cell, which now notes imputed
  gaps.
- Progress rows: name the exercises that read careers, and say gate 3 is
  unlocked.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The prose is re-derived from the fact catalogs of the fact-checked
version, then checked twice more: a claims diff, a voice read and a
hostile-expert read, each finding adjudicated independently, and a final
convergence round. Two corrections depart from the earlier text and are
verified in the repository:

- claim ages come from SSA's Annual Statistical Supplement, Table 6.B5.1
  (src/populace_dynamics/claiming.py), not from the PSID;
- mortality runs without any gate (gates.yaml: zero mortality cells are
  gated; "M / DI are uncertified anywhere"), not only without a drift
  certification.

The paper now also says that none of the four blind tests uses a gated
component (every gated row of the coverage table), and that the Track A
v2 rerun code is merged (#483) and tested only on invented data.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Nine simulated persona reviews (Urban, SSA actuary, SSA MINT, CBO,
advocates, scholar, methodologist, Hill staff, red team) raised fixes;
each was re-verified against the repository by an independent
adjudicator before it was applied, and a fresh claims check of the diff
found nine more precision fixes, also applied. Among them:

- the exercise 2 headline is 0.46 (0.46487), not 0.47;
- only gate 1 holds out 20 percent; the family gates split in half;
- the projections use the 2008 Trustees intermediate COLA and AWI paths,
  not statutory COLAs, and the mortality scaling is our own substitute;
- gate 3 is named but has no cells or tolerances;
- the minimum-benefit split by sex holds in the primary specification
  and three of six alternatives break it;
- the COLA result acts mechanically on benefits in payment;
- disclosures of what the amendments at gates 1, w1 and m6 did, the
  exercise 2 levels, standard errors and counts, and what the
  half-sample floor measures.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Replaces the short related-work section with a landscape of the models
that estimate US Social Security reforms: SSA's actuaries, MINT5 to
MINT8, CBO, DYNASIM3/4, the Penn Wharton Budget Model, OG-Core/OG-USA,
Cato (facts only), Morningstar, EBRI, CRR, Vanguard and USC's Future
Elderly Model. A table gives who runs each, its type, what an outsider
can obtain ("not checked" where no source establishes it), what it
publishes and which reforms it has published results for. No model's
estimate for the four exercise reforms appears.

Built fact-first: a verified fact catalog with 73 new references, a
draft written from those facts, then a claims check and a voice read
whose 43 findings were adjudicated and applied. Adds a "Comparisons
beyond DYNASIM" paragraph to what remains to build (planned, not
registered: OACT and PWBM on identical provision texts, MINT5/MINT8,
CBO where its precision allows), and narrows the introduction's claim
about code availability to what the sources establish.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
paper/paper.qmd takes the rewritten paper. Master's #489 corrected a
sentence in the old paper's cost-ordering paragraph, and the rewrite
carries the same correction in its "Comparisons beyond DYNASIM"
paragraph: the T2 check compared against CBO's 2005 estimates as
reported by Mermin (2005), and an erratum corrects the committed label.
tests/test_anchor_provenance_erratum.py now pins the rewrite's sentence;
all ten provenance tests pass, including the check that no old label
survives in the paper or the bibliography.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
social-security-model Ready Ready Preview Sep 29, 2026 8:50pm UTC

Request Review

MaxGhenis added a commit that referenced this pull request Sep 29, 2026
Applies the low findings of the #491 review: a dated addendum in the
erratum saying where the rewrite carries the correction, the issue-488
reference note now points to the closing PR and the erratum, and the
test comment names the paragraph it pins.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Applies the low findings of the #491 review: a dated addendum in the
erratum saying where the rewrite carries the correction, the issue-488
reference note now points to the closing PR and the erratum, and the
test comment names the paragraph it pins.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis
MaxGhenis force-pushed the paper-rewrite-20260929 branch from f471f36 to ddb82b9 Compare September 29, 2026 20:49
@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Independent review (fresh Opus 5.5 agent): APPROVE at 56568ab, with nothing at medium severity or above. Its low findings are applied at ddb82b9: the erratum addendum, the issue-488 reference note and the test comment. The provenance tests pass (10/10), and black and ruff pass. Merging on green CI at this head.

🤖 Generated with Claude Code

@MaxGhenis
MaxGhenis merged commit 04b93c1 into master Sep 29, 2026
12 checks passed

This branch was successfully deployed

1 active deployment
Preview — ddb82b94 Deployed Sep 29, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant