Closed the income loop in the generator, and the economy grew for the first time
Scalar closure on one loop. Not a full fixed point, I want to be clear about that. Labour sets the level, scale it so employment equals the labour force minus target unemployment. Engel curves set the basket composition, at the income the economy itself actually pays out. Prices, spread across firms, dynamics, none of that gets guessed. That’s the model’s job.
Main structural change: population is a primitive now, capacity is derived. The old scheme went the other way, population out of capacity and capacity out of hypothetical demand. Loop was never closed, so I was building a plant sized for an income nobody paid.
Start at 85% of the computed point rather than on it. The scalar closure can’t see the rest of the real model, so the actual equilibrium lands a bit lower.
Generator acceptance criterion, 48 ticks, no touching the mechanics:
stocks: 217903 → 279948, up in 33 of 47 steps (70%), oscillating
deaths / crystallisations per tick: 0 / 0, within range
GDP: 245999 → 229175 (−6.8%), within range
Signed off. And then the first ticks:
tick 0 GDP 245999 unemp 0.0%
tick 6 GDP 284514 unemp 0.0%
tick 12 GDP 280778 unemp 0.0%
It grows. First time in its life it just grows. Thirty ticks at zero unemployment, GDP +16% off the start.
Then it oscillates with recovery, 130k → 55k → 83k → 109k → 91k, which is also a first, every fall used to be monotonic. After tick ~336 it still slides into the lower band, but three hundred ticks that look like an economy instead of a deflation.