Grid design: final spec + the measured findings that forced it
Status: DESIGN CONCLUSIONS OF RECORD (2026-07-10/11, owner dialogue following the
G1 KILL). This document owns the post-KILL grid-design conversation: eight measured
findings, the agreed final scheme (owner-proposed, measurement-sharpened), and the
open items. Companion records, archived in the full corpus at
BufferStockTheory-Latest:theory/powerlaw-decay/: grid_placement_design.md (the killed
candidate’s pre-registration), grid_placement_p1_frontier_of_failure.md (the KILL), the
P1 harness proto_grid_placement.py (all measurements below ran against it and
hark_egm_adapter.py on the committed truth apparatus; consolidation into a single
verify script is open item 1).
The findings ledger (each measured this arc, HS-mean/COL-TOP/GIC-CAP anchors)¶
Anchors and notation, once. HS-mean = a calibration using the estimated parameters of a
representative high-school-educated household from HAFiscal (the mean discount factor of the
High-School group); COL-TOP = the most patient college-educated type from the same
estimation (the top atom of the College group’s discount-factor distribution); GIC-CAP =
the patience-ceiling college calibration (the “GIC-cap” defined precisely in the archived
full corpus’s final_proof,
https://
THE SPEC (owner-proposed scheme, sharpened by F1–F8)¶
Placement: stock
exp_mult(never tuned — F1) from the (age-varying, HARK- automatic via BoroCnstNat_t) constraint bottom to a_max.a_max (infinite horizon, once-and-for-all): the wealth-mass-negligibility rule — the smallest top with negligible WEALTH-weighted mass above (agent-mass is the wrong measure: 0.66% of agents held 17.6% of wealth). Patience sensitivity enters automatically via ζ* (tail exponent: 9.19 HS-mean / 3.17 COL-TOP / none at cap), the mortality-adjusted anchors m̌_mort (F2) at the pure-GIC edge, and the most-patient- type-binds rule for heterogeneous populations (= the rule the existing
production_aMaxhelper implements for the estimated calibrations, now with its theory). Constant grid (required by back-in-time-fast / Newton-FTI, TM methods, and estimation smoothness).Life cycle: same spec; adapt only on the backward-recursive theory objects (κ̲_t, h_t, B_t, BoroCnstNat_t — computable BEFORE each age’s solve: no chicken-and- egg; h_t here follows HARK’s
hNrmconvention, the PDV of income beyond the current period, i.e. one less than BST’s age-t human wealth — the full corpus’s archived T−1 amplitude supplement writes its h_{T-1} in BST’s convention, =hNrm_{T-1} + 1); one union-span constant grid unless profiling demands per-age.Above a_max (a GIVEN, per the owner): the power law — with the THEORY exponent q_∞ (< 1 under GIC-policy; infinite horizon) or the recursive amplitude B_t/w̄ (life cycle); never the fitted exponent (F5).
Tests (always run, the owner’s two regions): (i) near-kink Euler-residual panel (direct, cheap — where error originates); (ii) self-convergence at the visited set (one warm-started 2N re-solve + Richardson — F7; model-revision-robust).
Reports (never gates): corridor rel_gap(a_max), form distance |Q_fit/q − 1| (the honesty dial: 11% at HS-mean’s tol-1e-1 top, 37% at GIC-CAP’s), and the tail-law mode in use.
Parameter count: a_min, the a_max rule’s mass tolerance, N, two test tolerances — five interpretable numbers plus frozen shape and theorem-supplied law.
Open items¶
Consolidate the dialogue measurements (F1–F7) into a committed
verify_grid_design_checks.pybattery (they currently exist as inline session runs against the committed harness; each finding above states its construction).Derive the exact (λ_t, F_t) of the F8 amplitude recursion; validate w̄·g_t(w̄) → B_t on dense life-cycle solves (T−1 Kimball-adjustment anchor; its closed form is recorded in the full corpus’s T−1 amplitude supplement, archived at https://
llorracc .github .io /BufferStockTheory -Latest /powerlaw -decay -theory /t1 -amplitude -supplement/); then it joins pf_decayas a per-age quantity next to the MPCmin/hNrm recursions.HARK wiring of THE SPEC as a constructor + the two tests + the reports (a future small commit on the decay branch; the
mNrm_stable_pointshelper with the L·R loci belongs in the same commit).Union-vs-per-age grid profiling for life-cycle models (only if the union count is ever measured to be binding).
Document prose states the theory tail exponent as q_∞ itself throughout, per the simplified corpus’s standing GIC-policy assumption (ℛÞ_Γ < 1, hence q_∞ < 1). Library code keeps the general clip min(1, q_∞); under GIC-policy the clip is inactive.