configWith let the day count and the Revenue floor disagree

minCombinedRevenue fell back to SOLO_CONFIG's constant — the floor for a
FIVE-Day game — whatever days said. configWith({ days: 1 }) asked a
one-Day game to clear 15, which a full five-Day game averages barely
half of; configWith({ days: 10 }) asked for that same 15. It derives
from the days it was given now.

Not a live fault: createLocalSession is the only caller and the page
always writes the floor itself, so no dealt game was ever wrong. Found
by a throwaway probe that passed only days — which is how the next
caller would reach for it. Unchanged at the default day count, since
SOLO_CONFIG's floor is this same formula at DEFAULT_DAYS.

Stays in the unshipped v0.7.9 per Jesse — no version bump for the next
several fixes. 873 tests pass, three new.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AdG46Ja2PEDBkpqiDazMoX
This commit is contained in:
Jesse.Markowitz
2026-08-30 01:51:11 -04:00
co-authored by Claude Sonnet 5
parent e035dda5a3
commit 45cf521a40
3 changed files with 61 additions and 3 deletions
+14 -1
View File
@@ -76,6 +76,19 @@ who reopens it with "see the full results" comes back to.
the end of a timetable. Same shape as the three attempts before it: the thing that was verified was
not the thing the player uses.
### `configWith` let the day count and the Revenue floor disagree
`minCombinedRevenue` fell back to `SOLO_CONFIG`'s constant — the floor for a *five*-Day game —
whatever `days` said. So `configWith({ days: 1 })` asked a one-Day game to clear **15**, a figure a
full five-Day game averages barely half of, and `configWith({ days: 10 })` asked for the same 15 a
five-Day game does. It derives from the days it was actually given now.
Not a live fault: `createLocalSession` is the only caller, and the page always writes the floor
itself, so no dealt game was ever wrong. It was found by a throwaway probe written to reproduce the
extension bug above, which passed only `days` — which is exactly how the next caller would reach for
it. At the default day count the answer is unchanged, since `SOLO_CONFIG`'s own floor is this same
formula at `DEFAULT_DAYS`; the three new tests pin that as well as the derivation.
### Three wording and layout fixes
- **The collision entries** on all three screens now read "The game ends immediately and results in
@@ -90,7 +103,7 @@ not the thing the player uses.
cost, not a danger, and red would outrank the actual rules above it. The buttons say **Continue
Existing Saved Game** and **Deal New Game** rather than "Continue saved game" and "Deal".
870 tests pass, three of them new; one existing test asserted the opposite of the collision ruling
873 tests pass, six of them new; one existing test asserted the opposite of the collision ruling
above and says so where it was reversed.
---