kaintuck: online leaderboards, moneylender port fix, reputation-driven credit

kaintuck: online leaderboards, moneylender port fix, reputation-driven credit

#45 in Riparion/riparion-retro — merged 2026-06-13

Summary

  • Online leaderboards (prior commit): kaintuck posts finished runs to a riparion-cms board and shows a hall-of-fame panel on the splash; degrades to a no-op offline / under dx serve.
  • Moneylender port fix: borrowing was gated on stale town indices (Marietta/Louisville), so the two real lenders — Cincinnati and Memphis — showed no button. Now reads the data-driven moneylender flag from the scenario.
  • Reputation-driven credit: per-leg interest swings ±half the base rate by reputation (via shared interest_rate()), and the Cincinnati/Memphis credit cap scales the cash multiple ±50% (via shared credit_offer()). The moneylender screen quotes the live rate. Base interest and cash multiple moved into StartParams data.
  • Leaderboard cleanups (from /code-review): one ScorePayload (Serialize+Deserialize) and shared SLUG/BOARD consts back both submit and the splash read, so a field/slug rename can't silently blank the board; dropped unused leaderboard::enabled.

Testing

  • 51 kaintuck tests pass; golden trace unchanged (behavior-neutral refactor).
  • fort-nash (53) and oregon-trail (48) golden traces unaffected by the StartParams addition.
  • cargo check --workspace clean; wasm32-unknown-unknown compiles clean.

🤖 Generated with Claude Code

Last updated 2026-06-14