# MacroVision v96: macro sensitivity and completion boundaries
29 October 2026. Reproducible hypothetical simulations, not estimates, probabilities or validation of the thesis.

## Main finding
Across **576 fixed-grid actual scenarios**, **202 complete 20 years**. **144 stop because existing government commitments lack cash financing**, and **230 stop because corporate liquidity, real capital or equity redemption capacity is exhausted**. Failure is a modeled financing/closure boundary, not a predicted crisis probability.

For each group, preservation means a nonhousing-consumption index of at least 90 of its own initial level in every annual observation, conditional on completion. This is a diagnostic threshold, not an empirically justified adequate living standard. It does not measure total real disposable income, housing quality, food security, utility or a common absolute standard.

| Cohort | Preserves 90 throughout / 202 completed actual paths | Lower terminal real consumption than paired control / 42 complete pairs |
|---|---:|---:|
| Workers retained | 202 | 0 |
| Displaced, no initial consumer debt | 83 | 42 |
| Displaced, initial consumer debt | 75 | 42 |
| Productive-asset owner cohort | 202 | 12 |

Preservation relative to initial consumption does not imply being as well off as the evolving control. Cohorts without consumer debt may have mortgages; "no debt" is not a universal debt-free label.

## Model and grid
Reuse the v77 credit-resolution household simulation and v74 reduced-form capital feedback, without changing their economic rules. V78/79 partial mortgage/arrears anchors are not imported into this grid. All household and production parameters here remain illustrative.

Full factorial:
- productivity gain: .25, .50, 1.00;
- price pass-through: 0, .50, 1.00;
- terminal profit tax rate: .25, .35;
- accessible profit share: .50, 1.00;
- initial productive ownership: concentrated, broad;
- housing: renter, owner without mortgage, fixed mortgage, reset mortgage;
- stress: stable or rate shock.

Fix 20-year horizon, ten-year transition, terminal unemployment .20, capital-output elasticity .30 and capital-labor elasticity zero. Thus unemployment reaches exactly 20% in completed actual paths, with no feedback-induced employment change. Fixed saving rule consumes 90% of modeled spendable income; productive equity has a constant real quote. Resolution uses inherited two-year rules, cost share .10 and zero recourse. Housing/credit valuation, endogenous investment and cash-financing constraints remain inherited assumptions, not equilibrated market prices or optimized decisions.

## Comparison and failure handling
Each actual case has a control that removes displacement and productivity gain but retains its tax/capture schedule, ownership, housing and stress. Because the source control retains policy interpolation, call it a **no-displacement/no-productivity control under matched policies**, not a pure no-automation/no-policy-change counterfactual.

Only **72 controls** and **42 pairs** complete. For incomplete paths all terminal outcomes and preservation classifications are null, never the last observed year masquerading as year 20. Prefix minimum consumption and credit loss are explicitly labeled observed-prefix diagnostics. No imputation of failed paths.

Every completed pair has a negative terminal real nonhousing-consumption gap for both displaced cohorts. This applies only to 42 selected feasible pairs; it cannot characterize all 576 cases. No complete pair exists for either mortgage tenure or the .35 profit tax setting in this grid. Control failures prevent assessing those comparisons.

## Factor-conditioned diagnostic counts
Each row averages over/counts all other factor combinations, not a causal effect or probability.

| Setting | Actual complete / cases | Complete pairs | Preservation: consumer-debt-free / consumer-debt cohort |
|---|---:|---:|---:|
| Productivity .25 | 96 / 192 | 24 | 40 / 40 |
| Productivity .50 | 82 / 192 | 18 | 43 / 35 |
| Productivity 1.00 | 24 / 192 | 0 | 0 / 0 |
| Pass-through 0 | 64 / 192 | 12 | 30 / 30 |
| Pass-through .50 | 66 / 192 | 14 | 31 / 26 |
| Pass-through 1.00 | 72 / 192 | 16 | 22 / 19 |
| Capture .50 | 72 / 288 | 0 | 15 / 10 |
| Capture 1.00 | 130 / 288 | 42 | 68 / 65 |
| Stable housing/rates | 101 / 288 | 21 | 46 / 41 |
| Housing/rate shock | 101 / 288 | 21 | 37 / 34 |

Higher modeled productivity or price pass-through is not uniformly protective under these closures. It changes nominal revenues, profits, saving/issuance and capital financing jointly. The counts identify sensitivity and feasibility dependence; they do not isolate which structural channel causes a specific failure.

These totals are design dependent. Adding more grid points changes shares, and no distribution or likelihood is assigned to inputs. Cross-tenure ownership comparisons also change initial housing wealth. Do not interpret owner-versus-renter counts as a causal housing intervention.

## Implication and next step
Within this model, cheaper goods alone do not establish preservation of displaced households' consumption. Budget financing, initial asset distribution, debt/housing obligations and corporate liquidity must be checked together. The grid does not prove a general theorem or falsify the broad thesis: many paths expose limitations of the assumed saving, equity issuance and residual-investment closure.

Priority next: **audit the corporate financing failure boundary**, separating insufficient residual investment financing from real-capital depletion and equity redemption, with explicit alternatives fixed before new result comparisons. This is more informative than adding a favorable scenario or treating the 374 truncated actual paths as economic forecasts. Retain the original model unchanged for comparison. Quantifying a boundary across an input grid is not solving for a unique critical threshold or a global sensitivity index.

## Reproduction, output and checks
Run from repository root:
```bash
python scripts/macro_sensitivity_v96.py
python -m unittest discover -s scripts -p test_macro_sensitivity_v96.py -v
```
The script generates the full 576-case paired output locally at data/processed/macro_sensitivity_v96.json. The checked-in summary is data/processed/macro_sensitivity_summary_v96.json; it is the generated output with only the large cases array removed. It retains every factor-conditioned aggregate and code hashes. Full case results can be rebuilt without network, optional libraries or participant data.

Three meaningful tests pass: the explicit zero-transition intervention matches its control; money and output-use identities hold with the fixed unemployment path; failed paths cannot expose terminal outcomes/preservation. The full grid's maximum money residual is checked separately before publication. Accounting consistency does not establish empirical correctness or macroeconomic equilibrium.

Sources: existing repository scripts v71–77, pinned by SHA-256 in the generated summary. No new empirical observations, source estimates, causal approvals or calibration updates.
