-
v0.5.0 — size-ordered bond fills, negative rates, --replay
StableAll checks were successfulbuild / build (push) Successful in 24sreleased this
2026-09-30 22:27:58 +00:00 | 55 commits to master since this releasev0.5.0 — the full changelog since v0.4.0 (57 commits)
New mechanics
- Simultaneous turn phases: every player acts against phase-start snapshots — no seat can read a rival's current-turn action.
- Bond takes fill in size order: takers declare against the phase-start market, fills execute largest capital need first; the UI marks rates IDEAL, not guaranteed, and reports when your realized rate is worse than the preview.
- Negative interest rates: loans clamp to ±cap (undercut the zero-bidders), bonds may issue at a premium up to (2−floor)×face (negative yield to the buyer).
- Configurable reserve requirement: banks must hold a fraction of deposits in cash, shored by the bond market or insolvency — with a SHORE UP menu item on the take screen.
- Acquisition re-measurement: the acquired balance sheet is re-measured; dead loans stay with the corpse.
Accounting (GAAP audit, #78)
- Bonds at amortized cost with discount accrual over life; loan write-offs recognized in full when incurred with allowance reversal on recoveries; bank-style cash-flow classification; reworked statement presentation.
Correctness fixes
- Loan shelf cleared at game boundaries: bench runs are byte-identical again (#100).
- Stable amortization for tiny loan rates — +Inf books impossible (#95).
- Non-finite AI values rejected loudly; the offending bank fails to auction (#91).
- t and #t are distinct symbols — parameters named t receive their arguments (#98).
- Hook run-time errors surface in headless benches instead of being swallowed (#87).
AI system
- Lisp API redesigned: namespaces, read/write separation, file-vs-game forms, documented contract (#79).
- Super, the economic-optimizer brain from the canonical line, lands on master.
Player UX
- Whole-unit bond trades, takeable market view, honest fill preview (#69).
- Bond market liquidity row: total cash offered + effective rate (#71).
- Volume-at-price depth columns on every market row: VOL@PRICE, TOTAL, CUMULATIVE (#105).
- Bid-all control on the loan sheet: one rate for every loan, editable afterward (#106).
- Bank summary before every major decision (#64); post-lending summary + portfolio comparison (#67); churn captured on the deposit line (#63).
- --replay : structured JSON of config, seed, players, every phase action, and the outcome.
Brains
- Empire funding-franchise iterations: wins deposit-drought and rate-war (#52).
Gate: 13-preset 100-game bench clean (0 divergences, 0 non-finite, 0 ai errors) · go vet · go test · spectate smoke · darwin ARM64.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads