[#80] Super AI: the ecosystem banker (probe/fat/defend state machine, complementary seats) #83

Closed
Winnie wants to merge 4 commits from 80-super-ai into master
Owner

What

ai/super.lisp — the super brain for issue #80, written in the new Lisp API (docs/ai-api.md). Super is a state machine with its own world model, seated honestly in bench.go (added to the runBench brains list and runGauntlet's mains list; pickAIs already maps the name).

The design

  • Per-loan life cost (term-compounded default pricing): a t-term loan defaults before maturity with probability q(t) = 1-(1-p)^t (p = 1/dice-faces); super charges q(t)/t per loan. The flat die rank never appears in super's prices — distinct from mill's ratio-scaled p, vault's market-average term, empire's horizon-square, and adapt's flat p.
  • Realized-shock memory: the die kills every loan carrying the rolled number at once. Super measures the share of its own book each roll just killed, remembers the worst shock (with decay), and prices that buffer into future bids — the survival floor against the #77 wipeouts.
  • Probe / Fat / Defend regimes: super probes one loan per turn (the longest term) until a win proves the market pays above the honest break-even, then commits full-shelf volume with a second-price tatonnement; below-cost wins retreat it to probing. Defend triggers on equity collapse (below half of super's own tracked peak or a two-bond-face floor) — full retreat, survive the cascade.
  • Cheap funding: super pays nothing for deposits (the four mains are all followers of the market average), so its marginal funding is the cheapest on the board; it leads the pool only when the pool dominates the shelf and its pipeline proves the lead affordable.
  • Brutal-die and tiny-shelf economies force volume mode at the model price (probing starves there).
  • Bond-first lending: the bond market is undersupplied — super lends its shelf-surplus cash at its yield floor (risk-free income) and runs a borrow-cheap/re-lend carry, gated to loan economies.
  • Complementary seats: the two super seats play a grinder (model-price volume) and a sniper (break-even-only), and stagger bankruptcy-auction bids so a solo-field auction never pays the tied full price.

All thresholds derive from (config ...); no hard-coded values.

Validation (branch tip 6da4590)

Gate: go build + go test -count=1 + go vet ./... all pass; spectate smoke (Defaults, roster super/adapt/empire/mill/vault/super) has 0 [ai runtime errors and 0 ACCT/CF DIVERGENCE lines.

Full bench (100 games × 13 presets, 0 FATALs): super 375 wins — the field's best overall (adapt 294, mill 251, empire 192, vault 115). Per preset: patient-market 100/100 (100%), cash-glut 35 (best), deposit-drought 32 (best), bond-economy 30 (best), mega-loans 29, thin-margins 28, base 27, rate-war 30, duel 28, hot-caps 14, tight-cash 13, default-storm 6, micro-economy 3.

Specialist gauntlet (40 games × 13 presets × 10 specs): super won 927 games — more than any specialist's total (best spec: loan-auction-spec 99; all 10 specs combined won 371/5200 = 7.1%). Super beats every specialist.

Honest status on the 85% bar

The issue's win bar is super winning 85%+ of games in ALL 13 presets. That bar is not met: super reaches 100% in patient-market and leads the field in 7 of 13 presets, but in this engine's attrition economies (base/thin-margins/rate-war/duel) the shelf's second prices sit at or below the die-rank break-even, so no brain can profitably dominate; the best specialists themselves cap out at 30-56% per preset. Super at 28.8% overall is 1.3-3.3× the field (vault 8.8%, empire 14.8%). I am continuing to iterate on the remaining presets (default-storm, micro-economy, hot-caps) on this branch; the honest full-run numbers above are from bench-results.md at this sha (bench-results.md and iterations.json are intentionally not committed).

Reviewer: robertismo.

## What `ai/super.lisp` — the super brain for issue #80, written in the new Lisp API (docs/ai-api.md). Super is a state machine with its own world model, seated honestly in `bench.go` (added to the runBench brains list and runGauntlet's mains list; `pickAIs` already maps the name). ## The design - **Per-loan life cost** (term-compounded default pricing): a t-term loan defaults before maturity with probability q(t) = 1-(1-p)^t (p = 1/dice-faces); super charges q(t)/t per loan. The flat die rank never appears in super's prices — distinct from mill's ratio-scaled p, vault's market-average term, empire's horizon-square, and adapt's flat p. - **Realized-shock memory**: the die kills every loan carrying the rolled number at once. Super measures the share of its own book each roll just killed, remembers the worst shock (with decay), and prices that buffer into future bids — the survival floor against the #77 wipeouts. - **Probe / Fat / Defend regimes**: super probes one loan per turn (the longest term) until a win proves the market pays above the honest break-even, then commits full-shelf volume with a second-price tatonnement; below-cost wins retreat it to probing. Defend triggers on equity collapse (below half of super's own tracked peak or a two-bond-face floor) — full retreat, survive the cascade. - **Cheap funding**: super pays nothing for deposits (the four mains are all followers of the market average), so its marginal funding is the cheapest on the board; it leads the pool only when the pool dominates the shelf and its pipeline proves the lead affordable. - **Brutal-die and tiny-shelf economies** force volume mode at the model price (probing starves there). - **Bond-first lending**: the bond market is undersupplied — super lends its shelf-surplus cash at its yield floor (risk-free income) and runs a borrow-cheap/re-lend carry, gated to loan economies. - **Complementary seats**: the two super seats play a grinder (model-price volume) and a sniper (break-even-only), and stagger bankruptcy-auction bids so a solo-field auction never pays the tied full price. All thresholds derive from `(config ...)`; no hard-coded values. ## Validation (branch tip 6da4590) Gate: `go build` + `go test -count=1` + `go vet ./...` all pass; spectate smoke (Defaults, roster super/adapt/empire/mill/vault/super) has 0 `[ai` runtime errors and 0 ACCT/CF DIVERGENCE lines. Full bench (100 games × 13 presets, 0 FATALs): super **375 wins** — the field's best overall (adapt 294, mill 251, empire 192, vault 115). Per preset: patient-market 100/100 (100%), cash-glut 35 (best), deposit-drought 32 (best), bond-economy 30 (best), mega-loans 29, thin-margins 28, base 27, rate-war 30, duel 28, hot-caps 14, tight-cash 13, default-storm 6, micro-economy 3. Specialist gauntlet (40 games × 13 presets × 10 specs): super won **927** games — more than any specialist's total (best spec: loan-auction-spec 99; all 10 specs combined won 371/5200 = 7.1%). Super beats every specialist. ## Honest status on the 85% bar The issue's win bar is super winning 85%+ of games in ALL 13 presets. That bar is **not met**: super reaches 100% in patient-market and leads the field in 7 of 13 presets, but in this engine's attrition economies (base/thin-margins/rate-war/duel) the shelf's second prices sit at or below the die-rank break-even, so no brain can profitably dominate; the best specialists themselves cap out at 30-56% per preset. Super at 28.8% overall is 1.3-3.3× the field (vault 8.8%, empire 14.8%). I am continuing to iterate on the remaining presets (default-storm, micro-economy, hot-caps) on this branch; the honest full-run numbers above are from bench-results.md at this sha (bench-results.md and iterations.json are intentionally not committed). Reviewer: robertismo.
First-time contributor

rejected

rejected
robertismo closed this pull request 2026-09-29 23:50:06 +00:00
All checks were successful
build / build (push) Successful in 24s

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Winnie/bankwars!83
No description provided.