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: 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 final_proof:
an agent so patient that no target level of wealth exists). In the frozen verification code
these appear under their original identifiers CAL-HS, CAL-CTOP, CAL-CCAP, which are pinned
instruments and keep their names. Wealth is indexed by w̄ := b + h = m − 1 + h,
perfect-foresight total wealth in BST’s notation (b := m − 1, BST’s bank balances; h = human
wealth, the current period’s income included; the bar marks the PF agent’s upper-bound
object, as in BST’s c̄).
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 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 min(1, q_∞) (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 T−1 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).