The full path from incidence replication to a DYNASIM-class projection, on one unified dataset
#74 catalogued the anchors and #100 fixed the seam ownership (W1/W2/W3). This issue maps the remaining capability path end-to-end, and records the architectural bet that distinguishes this program from Urban's suite: one person-period panel — populace extended by time — that every product (cross-sectional tax-benefit microsim, local-area cuts, and the 75-year projection) is a row/column/time slice of, rather than five models on five base datasets.
Where the stack stands (M1, complete)
Certified or anchor-validated on real data: earnings histories (gate 1), marital/fertility dynamics (gate 2a), differential mortality (NCHS + PSID deaths), claiming (Supplement 6.B5.1), the statutory formula including the 402(b)/(c)/(e)/(f) auxiliary benefits absent upstream (validated against SSA worked examples). Five DYNASIM analyses replicated as incidence patterns (#72, #77, #84, #86, #88); the shared-earnings exact-concept replication and the cost-ordering synthesis (registrations on #42) are in flight. This is the distributional layer of DYNASIM, replicated at the pattern level with named deltas.
The capability milestones
Each milestone names its certification gate before its first scored run, per the standing contract discipline (gates.yaml). Order is dependency order; several can run in parallel lanes.
| # |
Capability |
Certification gate |
Unlocks |
| M2 |
Same-frame pseudo-projection: Trustees assumption layer (average-wage index, CPI, discounting), taxable-payroll aggregation, present-value accounting, endogenous trust-fund exhaustion → scheduled and payable baselines on the observed frame |
Ordinal agreement with OCACT single-provision scores; Mermin's exact 75-yr payroll effects; Smith (2015) solvency-year deltas (cap $150k +1yr, elimination +21yr, +1pp +5yr, +2pp +18yr, FRA→72 <1yr) as sign/rank checks |
A-table analogue in levels-on-frame; full-package ranking (SS 2100 vs Johnson); the payable/scheduled two-baseline discipline (#74 protocol note 1) |
| M3 |
Full family dynamics: tranche 2b (relationship/household composition, MX23REL) and 2c (marriage × earnings joint — assortative mating, needed to form future couples) |
The 2b/2c ceremonies already stubbed in gates.yaml with named holdouts |
Forward couple formation; household income and poverty tables (Steuerle–Smith anchor 4); survivor/spousal projection beyond observed couples; generated-couples shared-earnings concepts |
| M4 |
Disability: DI incidence/recovery hazards and DI→retirement conversion at FRA (conversion column visible in the archived 6.B5.1 extraction) |
DI prevalence/incidence and award-age distribution vs SSA administrative series; PSID work-limitation as micro basis |
Payable-baseline composition; COLA/FRA provisions' DI interactions; the anchor-2 provisions excluded from the cost-ordering scope; full packages |
| M5 |
Representative frame (W1): transport the certified generators from the PSID estimation basis onto populace CPS person records |
The transport gate — the scientific crux and the funded build; held-out joint distributions, not marginals alone |
Population-representative levels; state/local cuts via populace's filter-one-national-dataset pattern; everything below |
| M6 |
Projection engine: year-by-year forward simulation to ~2100 — demographics (M3) + earnings forward + DI (M4) + immigration entry cohorts + an explicit, versioned alignment layer to Trustees intermediate assumptions |
Temporal holdout: fit through year T, validate T+1…T+k against realized CPS/SSA series — the program's signature validation move applied to aggregates; OCACT triangulation per provision |
The actual projection: cohort tables to 2100 (Johnson–Smith anchor 3's 2065 medians), aged-poverty paths (anchor 4) |
| M7 |
Full revenue + trust-fund accounting: OASDI cost/income rates, trust-fund ratio path, 75-yr actuarial balance in % of taxable payroll |
Reproduce the corresponding TR baseline deficit within a pre-registered tolerance; per-provision balance vs the Five-Approaches A-tables in LEVELS, not just ordinally |
The Rosetta stone (#74 anchor 2) graded in its own units |
| M8 |
Integrated scoring: rulespec/pe-us rules executed per projected year on the panel (the W2/W3 seams of #100) |
Cross-validation of upstreamed rules vs the frozen local oracle (W3 discipline) |
One run answering "what does this OASDI reform do to SNAP eligibility and state income tax in 2045" — the question Urban's suite cannot pose to itself |
Cross-cutting, already underway: the component registry with compatibility certificates (review #106 P1), digest manifests and no-overwrite guards (P0 batch), and per-module certification scopes (the tranche machinery ratified in the 2026-07-09 amendment — it generalizes to every milestone above).
The unified-dataset bet: one panel, pruned per product
Urban's suite is five models on five bases — DYNASIM (SIPP), TRIM3 (CPS), ATTIS (ACS), the TPC model (SOI PUF), HIPSM (CPS/MEPS blends) — separately funded, separately calibrated, and mutually unreconcilable: no single object answers a cross-domain question. That separation is a fossil of 1970s–90s compute constraints and agency-by-agency funding, not a modeling necessity.
The proposal here is that the canonical object is a person-period panel: populace persons × years (~2026–2100), with future births and immigrant entrants as synthetic persons entering the panel, per-year calibrated weights, and the full variable surface as column groups. Every product is a slice:
- today's populace cross-section = one year-slice;
- a static-aging tax model = a decade of year-slices with the income columns;
- local-area analysis = a row filter (the pattern populace already established for geography — time is the same move again);
- the DYNASIM-class projection = the whole panel;
- limited-need products prune rows, columns, or years, and inherit only the certification scopes their slice uses — the certification_scope machinery from the tranche amendment, generalized.
Why this is tractable now. Scale: ~200k persons × 75 years ≈ 15M person-years; at a few hundred columns this is single-digit-GB parquet, lazily sliceable — trivial next to what forced Urban's fragmentation. Rules: deterministic engines (rulespec, pe-us) are vectorized over persons and indifferent to which year-slice they run on — rules live outside the data, so nothing about taxes-vs-benefits-vs-OASDI requires separate models. Calibration: one alignment story (Trustees targets by year) instead of five disjoint ones. Estimation: the certified generators already produce person-year histories; deployment on the panel is transport (M5), not new science per product.
The named hard parts (hard ≠ intractable; each gets the gate treatment):
- Estimation basis ≠ deployment basis. Dynamics are estimated on PSID panels and deployed on a CPS-anchored frame. DYNASIM avoids this by using SIPP as its base; we deliberately don't, so the transport gate (M5) carries a burden Urban never took on. It is also the entire unlock — it's what lets one dataset serve everything.
- Alignment vs micro-realism. Forcing year aggregates to Trustees targets while preserving certified micro-dynamics is where every dynamic microsim quietly fudges. Ours must be an explicit, versioned adjustment layer whose interventions are reported per run, inside the contract discipline — alignment that can't be audited is alignment that hides model failure.
- Column-surface growth and release governance. One dataset serving tax, benefits, OASDI, and eventually health means one release train; a defect anywhere gates everything. Mitigation is the release-bundle + per-module certification-scope pattern: a pruned product ships when its scopes are green.
- Behavioral response. v1 is mechanical (claiming from the calibrated distribution; no labor-supply response). Behavioral modules plug in later behind their own gates — stated as a domain-of-validity, never silently.
Sequencing note
M2 needs nothing new empirically and is checkable immediately (OCACT/Mermin/Smith anchors). M3 and M4 are gate-2a-shaped ceremonies on data already staged. M5 is the funded build and the pacing item. M6–M8 compose the above. The two-institute division holds throughout: estimation and certification of the stochastic layer on one side (Thesis), deterministic rules and their cross-validation on the other (Axiom), populace as the shared substrate.
Adopting the person-period panel as populace's canonical form is a populace-side decision; this issue records the populace-dynamics case for it. If ratified there, the panel schema work lands with M5.
Refs: #42 (registry), #74 (anchors), #100 (seams), #106 (external review).
The full path from incidence replication to a DYNASIM-class projection, on one unified dataset
#74 catalogued the anchors and #100 fixed the seam ownership (W1/W2/W3). This issue maps the remaining capability path end-to-end, and records the architectural bet that distinguishes this program from Urban's suite: one person-period panel — populace extended by time — that every product (cross-sectional tax-benefit microsim, local-area cuts, and the 75-year projection) is a row/column/time slice of, rather than five models on five base datasets.
Where the stack stands (M1, complete)
Certified or anchor-validated on real data: earnings histories (gate 1), marital/fertility dynamics (gate 2a), differential mortality (NCHS + PSID deaths), claiming (Supplement 6.B5.1), the statutory formula including the 402(b)/(c)/(e)/(f) auxiliary benefits absent upstream (validated against SSA worked examples). Five DYNASIM analyses replicated as incidence patterns (#72, #77, #84, #86, #88); the shared-earnings exact-concept replication and the cost-ordering synthesis (registrations on #42) are in flight. This is the distributional layer of DYNASIM, replicated at the pattern level with named deltas.
The capability milestones
Each milestone names its certification gate before its first scored run, per the standing contract discipline (gates.yaml). Order is dependency order; several can run in parallel lanes.
Cross-cutting, already underway: the component registry with compatibility certificates (review #106 P1), digest manifests and no-overwrite guards (P0 batch), and per-module certification scopes (the tranche machinery ratified in the 2026-07-09 amendment — it generalizes to every milestone above).
The unified-dataset bet: one panel, pruned per product
Urban's suite is five models on five bases — DYNASIM (SIPP), TRIM3 (CPS), ATTIS (ACS), the TPC model (SOI PUF), HIPSM (CPS/MEPS blends) — separately funded, separately calibrated, and mutually unreconcilable: no single object answers a cross-domain question. That separation is a fossil of 1970s–90s compute constraints and agency-by-agency funding, not a modeling necessity.
The proposal here is that the canonical object is a person-period panel: populace persons × years (~2026–2100), with future births and immigrant entrants as synthetic persons entering the panel, per-year calibrated weights, and the full variable surface as column groups. Every product is a slice:
Why this is tractable now. Scale: ~200k persons × 75 years ≈ 15M person-years; at a few hundred columns this is single-digit-GB parquet, lazily sliceable — trivial next to what forced Urban's fragmentation. Rules: deterministic engines (rulespec, pe-us) are vectorized over persons and indifferent to which year-slice they run on — rules live outside the data, so nothing about taxes-vs-benefits-vs-OASDI requires separate models. Calibration: one alignment story (Trustees targets by year) instead of five disjoint ones. Estimation: the certified generators already produce person-year histories; deployment on the panel is transport (M5), not new science per product.
The named hard parts (hard ≠ intractable; each gets the gate treatment):
Sequencing note
M2 needs nothing new empirically and is checkable immediately (OCACT/Mermin/Smith anchors). M3 and M4 are gate-2a-shaped ceremonies on data already staged. M5 is the funded build and the pacing item. M6–M8 compose the above. The two-institute division holds throughout: estimation and certification of the stochastic layer on one side (Thesis), deterministic rules and their cross-validation on the other (Axiom), populace as the shared substrate.
Adopting the person-period panel as populace's canonical form is a populace-side decision; this issue records the populace-dynamics case for it. If ratified there, the panel schema work lands with M5.
Refs: #42 (registry), #74 (anchors), #100 (seams), #106 (external review).