SPB Git

spb/wp24_uqo

Public
6.1 KB

# Research log — UQO WP 24 "From Labor to Capital"

Chronological record of completed steps, assumptions taken, residuals, unresolved problems and next actions (required by CLAUDE.md). Dates are 2026-10-27 unless stated.

# Stage A — Source audit (done)

  • Downloaded the NBER conference PDF (20 pp., July 4 2025 draft) and wrote docs/source_audit.md with page references for every primitive, definition and proposition (P1–P11). Observations: no proofs in the source, compute is an endowment, no capital/prices/ownership; P6's own caveat (p. 11) identifies scarce resources as the point of failure of the wage result.
  • Literature matrix and 118 verified references delivered by the bibliography task (docs/literature_matrix.md, docs/references_verification.md); 6 entries flagged PARTIAL, none invented.

# Stage B — Smallest exact benchmark (done)

  • tasks.py reproduces Restrepo's static economy with 4 bottleneck + 2 accessory task classes and CES σ_B = 0.5. On a grid Q ∈ {0,…,1e5}: A constant from Q = 5 on, Y linear in Q (slope = A to 1e-6), w_H = A·CEU(H) = 8A, w_L = 2A < 3A = A·CEU(L) (the accessory task with the highest α is not worth automating: the skill is in Restrepo's group 𝒩 and gets the discounted \widetilde{CEU}), labor share 1 → 4e-4, compute share → 1, total wages higher than pre-AGI. Tests in tests/test_static.py (P1–P6).
  • A nuance not in the source: the "discount" of P4 arises whenever the max-α task of a skill is not automated, even if nobody works in it (accessory output abandoned entirely because its marginal value Zγ_a is below the wage available in bottleneck tasks).
  • Observation on definitions: with a CES aggregator every task is a bottleneck unless the elasticity is infinite; accessory work in the sense of Definition 2 requires asymptotically linear entry.

# Stage C/D — Two-class, four-capital model and solver (done, with lessons)

  • Static block: SLSQP on scaled variables + Newton polish of the KKT equalities on the active set; the polished solution is independent of the warm start (banded FD Jacobian matches a dense one to 6e-10). Accepting the polish on its residual rather than on fsolve's status flag was necessary (10 % of calls were rejected with residuals of 1e-18).
  • Accounting identity GDP = factor payments holds to 1e-8 and a deliberately broken version (compute services counted as final output) is caught by test_income_identity_fails_when_accounting_is_broken.
  • Harrod-neutral trend growth on labor, land and the energy resource (TFP constant) gives an exact frozen-AI BGP (residual 2.5e-8 at the BGP guess). A first version with Hicks-neutral Z growing at g produced rentals growing at 1.5 %/yr — not a BGP — and was corrected.
  • Lesson 1 (calibration must match the scenario's anticipated prices). Calibrating the 2026 compute rental with the user cost of a declining price (g_pQ = 0.15) and then solving a scenario with a different g_pQ creates a jump at t = 0 (compute Euler off by 60 %), the task block switches regime (task 1 fully automated) and the Newton system becomes nearly singular along the (K_Q, r) direction. With the base point re-calibrated for each scenario's technology rates (calibrate(overrides=…)), the frozen case converges in 5 iterations to 1.8e-10.
  • Lesson 2 (accessory tasks and energy). With a linear accessory block and an energy constraint, the marginal value of compute is bounded below by Zγ_a/α_a while the marginal value of energy in the core (σ_T < 1) is bounded above; as ε_t → 0 compute would absorb all energy to produce accessory output and core output would collapse. Accessory tasks are therefore kept in the analytical replication only.
  • Lesson 3 (scenario magnitudes). g_pQ = 0.28 with a floor at 1e-5 and g_alpha = 0.2 produce compute stocks growing by e^40 within the horizon and no terminal state close to a BGP; the solver cannot find a 30-year path. The baseline uses g_pQ = 0.15 (floor 1e-3, Moore's law ends ≈ 2072), g_eps = 0.10, g_alpha = 0.15; the Epoch value (0.34) is a scenario.
  • Solver: banded Newton (colored FD Jacobian, band 2) with backtracking; homotopy in the size of the shock on T = 40; horizon continuation 40 → 80 → 140 → 200 → 275; truncation check with 50 extra years. A trust-region least-squares alternative (solve_trf) was tried and found much slower.

# Stage E — Asset pricing (implemented in transition.py)

  • Tobin's q per capital type, ex-dividend equity values, net payouts (negative = issuance), land prices by backward recursion with a Gordon terminal value, aggregate wealth = sum of claims. Decompositions in analysis.py (to do: Campbell–Shiller exact under perfect foresight).

# Stage F — Propositions (in progress)

  • Regime theorem drafted (see paper/sections/theory.tex): labor share → 0 is robust; wage level and the destination of income depend on whether compute is an endowment or a priced reproducible capital good and on the elasticity between the task composite and scarce complements.

# Stage G — Heterogeneous agents (implemented, GE loop to do)

  • households.py: EGM with housing-inclusive price index, Rouwenhorst(5), 3 discount types × 2 skills, 300-point grid; stationary solution in ≈ 1 s. At the reference prices β = (0.93, 0.97, 0.993) with masses (0.5, 0.3, 0.2) give wealth 8.3 × GDP, Gini 0.80, top-10 % share 65 %, top-1 % 13 % (data 32.5 %: not reachable without return heterogeneity — reported as an untargeted moment).

# Stage H — Data (done)

  • 162 targets retrieved (data/processed/calibration_targets.csv), all with URLs, vintages and sha256; FRED reached through a browser-fetch fallback (Akamai timeouts), documented in data/raw/fred/_RETRIEVAL_NOTE.md.

# Open problems / next actions

  1. Run the scenario catalogue on the cluster; check horizon truncation for the explosive scenarios.
  2. HA general-equilibrium loop (relaxation on the interest-rate path) for baseline + 3 scenarios.
  3. Stochastic AGI-arrival extension (risk premia) in a two-regime version.
  4. Empirical design section (industry exposure × margins/valuation) — design only.
Files · f7215f55e72789efa8efb849ec6020a1edb0a939
Menu

Theme