v0.6.0 minor sweep: config validation, RNG, snapshots, HUD, wizard, benches (Closes #127) #136

Merged
robertismo merged 1 commit from 127-minors into master 2026-10-01 16:00:49 +00:00
Owner

The verified minors from the #118 review, fixed in one pass:

  • Config validation covers the money/term fields: the loan_term_min > loan_term_max panic is now a clean config error (verified live), plus loan amounts, loans_per_turn, bond face/term, free_float, and non-negative starts.
  • rnd() is one persistent stream per game instead of reseeding from the same per-turn seed on every call — the die and the loan shelf no longer share a draw. Seed 0 captures a real seed into the config so replays reproduce it. Determinism verified: two identical-seed runs byte-identical.
  • The revocation phase snapshots the bond market so revoke? hooks can't observe earlier seats' current-turn revocations.
  • The HUD's deposit-rate (was) value reads the turn-start snapshot instead of the live PrevRates.
  • The seat prompt warns on invalid input instead of silently spectating.
  • Wizard: the no-op question removed.
  • benchvs reports the resolved game count; the gauntlet counts one play per game instead of per seat.
  • Dead code removed (no-op ranking branch, "or turn 0", TrimPrefix no-op, unbounded promptRate).

Full suite + vet clean.

The verified minors from the #118 review, fixed in one pass: - Config validation covers the money/term fields: the loan_term_min > loan_term_max panic is now a clean config error (verified live), plus loan amounts, loans_per_turn, bond face/term, free_float, and non-negative starts. - rnd() is one persistent stream per game instead of reseeding from the same per-turn seed on every call — the die and the loan shelf no longer share a draw. Seed 0 captures a real seed into the config so replays reproduce it. Determinism verified: two identical-seed runs byte-identical. - The revocation phase snapshots the bond market so revoke? hooks can't observe earlier seats' current-turn revocations. - The HUD's deposit-rate (was) value reads the turn-start snapshot instead of the live PrevRates. - The seat prompt warns on invalid input instead of silently spectating. - Wizard: the no-op question removed. - benchvs reports the resolved game count; the gauntlet counts one play per game instead of per seat. - Dead code removed (no-op ranking branch, "or turn 0", TrimPrefix no-op, unbounded promptRate). Full suite + vet clean.
v0.6.0 minor sweep: config validation, RNG, snapshots, HUD, wizard, benches (Closes #127)
All checks were successful
build / build (push) Successful in 30s
267db3d890
The verified minors from the #118 review, fixed in one pass:

- Config validation covers the money/term fields: loan term ranges
  (the loan_term_min > loan_term_max panic is now a clean error),
  loan amounts, loans_per_turn, bond face/term, free_float, and
  non-negative starts.
- rnd() is one persistent stream per game instead of reseeding from
  the same per-turn seed every call — the die and the loan shelf no
  longer share a draw. Seed 0 captures a real seed into the config so
  replays can reproduce it. Determinism verified: two identical-seed
  runs byte-identical.
- The revocation phase snapshots the bond market so revoke? hooks
  can't observe earlier seats' current-turn revocations.
- The HUD's deposit-rate (was) value reads the turn-start snapshot
  instead of the live PrevRates.
- The seat prompt warns on invalid input instead of silently
  spectating.
- Wizard: the no-op "play as a bank" question is gone.
- benchvs reports the resolved game count in its header and markdown,
  and the gauntlet counts one play per game instead of per seat.
- Dead code removed: the no-op final-ranking branch, the "or turn 0"
  header for unlimited games, TrimPrefix(x, ""), and the unbounded
  promptRate loop.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
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!136
No description provided.